
ML/DL/数据结构与算法
文章平均质量分 83
深度学习、机器学习、数据结构与算法等
叶青古
不要温和地走进那个良夜,老年应当在日暮时燃烧咆哮;怒斥,怒斥光明的消逝。
展开
-
(python)图算法:拓扑排序算法+kruskal算法+prim算法+Dijkstra算法实现
补充图的几个算法:拓扑排序算法 、kruskal算法和prim算法实现。目录一.拓扑排序算法二.kruskal算法三.prim算法一.拓扑排序算法拓扑排序算法适用于无环的、有入度为0的图。再说一下该算法的一个应用场景,在实现工程代码时,各个代码文件之间存在依赖关系,所以需要进行编译顺序排序。此时就可以使用拓扑排序算法实现编译顺序确定。方法:找到入度为0的点,然后记入result,随后擦除该点的影响(点和边),然后继续找到入度为0的点记入result,周而复始。代码:为方便起见,使用了我的上一原创 2021-09-08 15:37:08 · 1121 阅读 · 0 评论 -
(python)数据结构图的描述实现+其他描述方式的转换示例
补充一个python的图数据结构的描述实现,和其他描述方式与这个方式的转换示例。左神教了一种图的通用描述结构,遇到别的情况(比如题目中有别的描述结构)这转换为该种结构然后实现算法。原课程为java实现,我改写为python。图分为无/有权重有向图、无/有权重无向图。目录一.图的描述实现二.转换示例一.图的描述实现实现了图、点、边的描述结构:注意实现中边的结构只需要实现有向边,对于无向边来说等于两个点有向边彼此拼接。例如无向边AB等于A到B的有向边与B到A的有向边拼接。class Graph(ob原创 2021-09-07 17:15:54 · 478 阅读 · 0 评论 -
(python)递归+非递归的二叉树前序、中序、后序遍历实现
补充一下二叉树三种遍历代码实现,同样是纯coding,写熟完事,思路就不赘述。目录一.二叉树构建二.递归1.前序遍历2.中序遍历3.后序遍历三.非递归(栈)1.前序遍历2.中序遍历3.后序遍历一.二叉树构建假设下图是我们的树:构建:class TreeNode(object): def __init__(self,value=None,left=None,right = None): self.value = value self.left = left原创 2021-09-06 15:26:09 · 886 阅读 · 2 评论 -
(python)单双链表反转实现
补充一下单双链表反转代码,因为是纯coding的东西,思路这里就不赘述,写进注释了。要注意的一点是,如果后续链表相关的编码涉及到换头,记得要返回当前的head。目录一.单链表反转二.双链表反转一.单链表反转class Note(object): def __init__(self,value,next=None): self.value = value self.next = next def reverse_note(self,head_): #涉及原创 2021-09-03 15:42:47 · 423 阅读 · 0 评论 -
基于异或运算的无额外空间复杂度的两数交换方法、注意事项及例题
一般写两个数交换的代码可能会引入一个temp作为中转。如下:def swap(a,b): # python可以写成:a,b=b,a temp = a a = b b = temp print(a,b) #output:2 1swap(1,2)但此时由于引入常数级的变量,将造成额外空间复杂度=O(1)下面介绍一种利用异或运算的无额外空间复杂度的交换方式,代码如下:def swap(a,b): # python可以写成:a,b=b,a a =原创 2021-08-31 16:26:45 · 325 阅读 · 0 评论 -
pytorch教程(学习笔记)——tensor操作+模型实例(线性回归、LR、MLP)
突然翻出了蛮早之前做的pytorch学习笔记,整理了一下决定发成博客以供复习,当时根据视频资料和网页资料整理的,视频资料现在找不到了,后面找到了再进行补充;网上的博客资料标在文中对应位置。目录一.pytorch安装二.pytorch基础1.pytorch张量与数据类型2.张量基本操作(1).构建张量(2).size()、shape(3).adarray与tensor之间转换2.张量运算与形状变换(1)张量运算——乘法(2)张量运算——加法(3)张量运算——均值、求和、tensor转标量、in-place函原创 2021-08-22 23:51:09 · 806 阅读 · 0 评论 -
深度学习常见概念整理(二)
目录19.超参数20.超参数:batch epoch iteration21.丢弃(Dropout)22.批量归一化(Batch Normalization)23.卷积神经网络的特点24.过拟合 梯度弥散 局部极值25.激增梯度问题(Exploding Gradient Problem)26.数据增强27.正则化28.监督学习、无监督学习、半监督学习29.IoU系列本博客参考部分博客进行摘录和补充。19.超参数超参数指在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参原创 2021-07-12 14:50:55 · 780 阅读 · 9 评论 -
深度学习常见概念整理(一)
目录1.卷积(Convolution)卷积核(Kernel)过滤器(Filters)2.池化(pooling)3.通道(channel)4.全连接层5.全卷积网络6.零填充(Zero-padding)7.步长(Stride)8.权重(weight)9.偏差(bias)10.激活函数(Activation Function)11.多层感知机MLP12.神经网络13.正向传播(Forward Propagation)14.反向传播(Backpropagation)15.损失函数(loss function)16原创 2021-07-12 14:33:49 · 738 阅读 · 0 评论 -
Kaggle入门——Titanic+随机森林(调参)+逻辑回归
本博客记录一下自己的Kaggle入门题目——Titanic。只弄了一天,特征工程做得比较草率,结果只有0.76+,不过主要是为了体验一下Kaggle竞赛的流程,以及熟悉一下Kaggle的使用。目录1.题目相关2.特征工程3.随机森林+调参4.逻辑回归5.其他模型1.题目相关原题地址:https://www.kaggle.com/c/titanic/overview数据:https://www.kaggle.com/c/titanic/data,数据的介绍页面上已经十分详尽,本博客就不赘述。原题数据原创 2021-06-16 17:02:08 · 869 阅读 · 1 评论 -
记一次目标分类任务流程拉通——pytorch+resnet50+重新筛选的部分challenge2018农作物病害数据集(玉米)
做这个事情是为了拉通流程,所以对数据集进行了重新制作,只选取了部分类别来完成目标分类任务。代码地址:完整数据集:https://pan.baidu.com/wap/init?surl=6f1nQchS-zBtzSWn9Guyyg 密码:iksk重新制作后的:一.项目环境python3.6 torch1.6 torchvision==0.7.0二.数据集介绍首先说下数据集:AI Challenger 2018农作物病害检测竞赛就是由上海新客科技为竞赛提供农作物叶子图像的数据集:标注图片5万张原创 2021-06-03 16:54:01 · 1975 阅读 · 3 评论 -
深度学习error记录(自用|持续更新)
目录1.RuntimeError: Could not run 'torchvision::nms' with arguments from the 'CUDA' backend.1.RuntimeError: Could not run ‘torchvision::nms’ with arguments from the ‘CUDA’ backend.Traceback (most recent call last): File "/opt/yyl/yolov5/train.py", line原创 2021-05-20 17:28:35 · 1557 阅读 · 0 评论 -
(keras+VGG16+linux)迁移学习初识——猫狗大战数据集训练预测
目录一.数据集二.工程环境三.工程结构(1)数据集预处理 data_pre.py代码学习笔记数据集文件名-label(2)训练代码 training.py代码学习笔记applications.VGG16中include_top参数迁移训练策略sigmoid\softmax和binary_crossentropy\categorical_crossentropy\sparse_categorical_crossentropy数据预处理器ImageDataGenerator 类数据生成器flow_from_di原创 2021-04-16 14:43:05 · 860 阅读 · 8 评论