爱学习的人工智障
专注于深度学习,扣图算法,压缩算法,去隔行算法
展开
-
pytorch学习笔记一:pytorch学习的路线图
pytorch学习笔记原创 2022-09-18 17:22:23 · 1140 阅读 · 1 评论 -
《Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation》论文解读
RNN编解码网络原创 2022-09-07 22:44:03 · 580 阅读 · 0 评论 -
seq2seq模型简介
seq2seq网络的简介原创 2022-09-05 21:43:19 · 574 阅读 · 0 评论 -
机器学习算法面试知识点解读
机器学习面试注意事项原创 2022-08-21 20:58:00 · 238 阅读 · 0 评论 -
一文读懂Diffusion model
扩散模型原创 2022-08-06 22:10:36 · 1772 阅读 · 0 评论 -
ubuntu20.04中pcharm配置pytorch环境
pycharm配置pytorch环境原创 2022-07-14 22:30:11 · 1032 阅读 · 0 评论 -
ubuntu20.04安装mxnet(看这一篇就够了)
ubuntu20.04安装mxnet原创 2022-07-14 22:23:32 · 1011 阅读 · 0 评论 -
ubuntu20.04卸载cuda(当你查了网上那些常规方法无法卸载时,请尝试该方法)
卸载cuda原创 2022-07-01 06:34:27 · 3756 阅读 · 0 评论 -
如何在裸机上完成Ubuntu20.0系统的安装
裸机通过u盘启动装ubuntu系统。原创 2022-06-26 10:29:31 · 1949 阅读 · 0 评论 -
常见面试题作答
1. 过拟合问题如何解决?一般工作中不会出现过拟合问题,大部分是欠拟合问题,如果是过拟合,只需要用early_stopping处理即可。2. 欠拟合问题如何处理?原因有三种,(1)样本不够丰富(2)模型拟合能力较差(3)参数初始化设置方法问题解决:(1)a) 样本的问题,数据增强,例如加噪,扭曲,翻转,调整饱和度,亮度,和色度b) 裁剪图片,增加小样本的权重(如何调整?)(2)换一个更好的模型(3)参数设置的问题要重新处理。3. 常见目标检测,图像分割网路模型的原理(原创 2022-02-20 19:26:44 · 196 阅读 · 0 评论 -
图像分割中涉及的损失函数(主要用来处理样本不平衡)
图像分割中的损失函数前言解决办法损失函数1. log loss损失函数2. WBE loss3. Focal loss应用场景思想公式三级目录前言图像分割中的loss函数继承了深度学习模型中一般损失函数的所有特点,但是又有其自身的特点,即需要处理类别不平衡的问题,在进行图像分割中,往往图像中成为背景的像素值占绝大多数,而前景目标的像素只有很少一部分。注:以下链接详细介绍了深度学习模型中的一般...原创 2020-04-01 10:13:36 · 3275 阅读 · 0 评论 -
pytorch中nn.Conv2d卷积的padding的取值问题
明确卷积的计算公式:d = (d - kennel_size + 2 * padding) / stride + 1保证输入输出的分辨率大小一致,padding的取值:如果kernal_size = 3, padding = 1。kernal_size = 7, padding = 3.参考链接:https://blog.youkuaiyun.com/qq_26369907/article/det...原创 2020-03-31 06:31:56 · 1781 阅读 · 1 评论 -
pytorch中交叉熵的妙用
注:对于图像分割而言,交叉熵的输入:通过深度学习模型的预测样本的输入为:SCHW,其中,S为样本数目,C为分类数目,H和W为图像样本尺寸。 样本标签的输入为:SH*W, 其中,S为样本数,H和W为图像样本尺寸。参考链接:https://blog.youkuaiyun.com/qq_22210253/article/details/85229988?depth_1-utm_source=distrib...原创 2020-03-31 06:20:58 · 340 阅读 · 0 评论 -
一文读懂深度学习算法中的优化算法发展史
深度学习优化算法发展史优化算法的目的各种优化算法梯度下降法动量梯度法Adam优化算法优化算法的目的各种优化算法所有梯度算法都是基于梯度下降法进行演进的。主要分为三大阶段,第一阶段是梯度下降法,这个阶段的优化算法可以找到局部最优解,但是无法找到全局最优解,很容易陷入鞍点。第二阶段为动量梯度法,这个阶段的优化算法考虑了权重的优化方向,借鉴了动量的原理,可以在某种程度上跳出局部最优解,但是很容...原创 2020-03-23 19:45:19 · 1950 阅读 · 0 评论 -
pytorch损失函数之nn.CrossEntropyLoss()理解
功能:综合了softmax和交叉熵的功能。https://blog.youkuaiyun.com/geter_CS/article/details/84857220原创 2020-03-20 19:05:04 · 2002 阅读 · 0 评论 -
python中使用matlabplit绘制动态直方图
通过这样的动态作图,可以用来分析深度学习模型的性能。示例代码1:动态直方图import matplotlib.pyplot as pltfig, ax = plt.subplots()y1 = []for i in range(50): y1.append(i) # 每迭代一次,将i放入y1中画出来 ax.cla() # 清除键,清除所有的数值 #ax...原创 2020-03-20 17:09:23 · 1500 阅读 · 0 评论 -
一文读懂深度学习模型中损失函数(均方误差,log loss和交叉熵)
误差函数理解定义功能与BP算法,激活函数的关系误差函数的特点常见误差函数均方误差函数公式应用场景pytorch实现代码交叉熵公式应用场景pytorch实现代码定义误差函数是关于模型输出和样本标签值之差的函数,通过对误差函数求导来调节权重参数。功能调节权重参数与BP算法,激活函数的关系误差函数的选择,不仅与要解决的问题有关,而且也和激活函数有关,然后通过对误差函数求导,利用BP调节模型中...原创 2020-03-19 18:48:50 · 6255 阅读 · 1 评论 -
pytorch可视化深度学习训练过程
打印关键信息的log,l例如loss信息。引入tqdm模块可以估计训练时间。3.可视化训练过程。参考链接:https://blog.youkuaiyun.com/weixin_38410551/article/details/104823037...原创 2020-03-17 00:05:07 · 829 阅读 · 0 评论 -
pytorch创建伪样本数据
创建伪数据目的方法示例代码目的为了验证网络的性能,或者为了说明网络的某些问题。方法创建输入。创建虚伪标签。示例代码创建了一个y = x^2的伪样本数据import torchmport matplotlib.pyplot as plt'''print(torch.__version__)print(torch.cuda.is_available())'''#固定随机...原创 2020-03-16 12:12:31 · 726 阅读 · 0 评论 -
pytorch中进行深度学习的权重初始化策略
目的:降低梯度消失和梯度爆炸的可能性。方法:每一层权重输出的均值为1,方差一致。权重初始化与每一层的节点个数有关,节点个数越多,每一层的权重参数越小。参考链接:https://blog.youkuaiyun.com/Harpoon_fly/article/details/85227677...原创 2020-03-15 19:05:42 · 2237 阅读 · 0 评论 -
神经网络中偏差和方差的定义
**偏差定义:**偏差的定义由训练集的误差与人类误差比较来定义,训练集的误差低,偏差低,训练集的误差高,称为高偏差,高偏差也称之为过拟合。**方差定义:**方差的定义,源于比较训练误差和验证集误差的差异,若差异较大,则称之为高方差,否则为低方差。举例:(1) 高方差(2)高偏差(3)高偏差,高方差(4)低偏差,低方差功能:通过分析偏差和方差,来优化模型算法。注:高偏差,即欠拟合,可...原创 2020-03-15 18:47:12 · 864 阅读 · 0 评论 -
pytorch自定义的网络可以不进行初始化
注:pyttorch自定义的网络结构,已经进行了初始化。自定义的网络结构,可以不进行初始化。参考链接:https://blog.youkuaiyun.com/u011668104/article/details/81670544?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant...原创 2020-03-14 19:12:24 · 724 阅读 · 0 评论 -
windows10上安装使用pytorch(pycharm也可以采用这种方法安装)
进入pytorch官网。https://pytorch.org/找到适合自己的版本,CUDA、平台、Python等,然后会自动提示“Run this command” 命令指令进行安装。我的是Python3.5(Anaconda4.2)+CUDA8.0+windows10,当然如果电脑没有GPU,CUDA就选none。conda 安装Pytorch包Win+R进入windows运行...原创 2020-03-13 19:06:00 · 720 阅读 · 0 评论 -
pytorch学习之优化器torch.optim
功能:更新模型参数参考链接:https://blog.youkuaiyun.com/qq_20622615/article/details/83150963原创 2020-03-11 17:21:58 · 854 阅读 · 0 评论 -
imgaud学习笔记
简介:imgaug是一个封装好的用来进行图像augmentation的python库,支持关键点(keypoint)和bounding box一起变换。目的:对图像进行处理参考链接:https://blog.youkuaiyun.com/u012897374/article/details/80142744...原创 2020-03-08 17:50:02 · 174 阅读 · 0 评论 -
python中kwargs的用法
kwargs功能:它就是一个字典,如果函数输入键值对,就会转化为字典。示例代码:def test(a, *args, **kwargs): print("a:", a) # print b # print c print("args:", args) print("kwargs:", kwargs)test(1, 2, 3, d='4', e...原创 2020-03-03 17:42:38 · 7016 阅读 · 0 评论 -
pytorch实现深度学习进行图像分割实战项目系列文章一(深度学习中如何进行数据预处理)
将样本图像转化为csv文件。读取csv文件进行样本数据预处理。将样本数据转化为tensor格式的数据,输入模型。原创 2020-03-03 16:47:02 · 1460 阅读 · 3 评论 -
交叉验证
原理:将样本数据分为k份,每次选取一份数据作为验证集,其余的数据作为训练集,这样训练k次,然后选取k次训练误差的均值作为该模型的误差,以此来作为选择不同机器学习模型的依据,或者作为选择深度学习神经网络层数和节点数的依据。步骤:将样本数据集分为k份。选取其中一份作为验证集,剩余的k-1份作为训练集。然后训练k次,取k次误差的均值作为改模型最终的误差。参考链接:https://blog...原创 2020-02-25 15:50:33 · 319 阅读 · 0 评论 -
训练集,验证集和测试集
训练集:通过最小化目标函数(损失函数 + 正则项),用来训练模型的参数。当目标函数最小化时,完成对模型的训练。验证集:用来选择模型的阶数。目标函数最小的模型对应的阶数,为模型的最终选择的阶数。测试集:评估模型的泛化能力。根据选择的已经训练好的模型,评估它的泛化能力。...原创 2019-04-16 15:47:46 · 511 阅读 · 0 评论 -
深度学习中如何将样本图像文件的存储地址转化为CSV文件
目的:主要是为了将图像样本转化为深度学习模型可以训练的样本数据。步骤:1. 建立图像和label存放的路径。2. 将路径名,对应存储在一个list表中。3. 转化为pandas数据,并打乱顺序(目的是为了让样本数据具有随机性)。4. 将数据转化为CSV文件。#示例代码:import osfrom sklearn.utils import shuffleimport pandas a...原创 2020-02-23 09:50:25 · 1485 阅读 · 0 评论 -
sklearn中shuffle的用法
功能:shuffle打乱样本的顺序。参考链接:https://blog.youkuaiyun.com/hustqb/article/details/78077802原创 2020-02-21 18:13:16 · 7801 阅读 · 0 评论 -
pytorch实现基于resnet的Unet
resnet可以作为Unet的编码模块,只要把最后的全连接层去掉即可,其它无需改变。Unet网络的整体结构为编码模块,和解码模块。解码模块要将每个stage模块的中间输出保存下来,以便与对应的解码模块的stage相连接。Unet的创新之处在于它的解码模块,所以代码实现的时候尤其要关注每个模块的输入输出信道数,解码模块中间几个模块的处理过程相同,可以用for循环处理,而作为解码模块的输入和输出...原创 2020-02-16 18:17:29 · 5447 阅读 · 1 评论 -
pytorch实现resnet网络代码
res代码的结构:卷积(11 ,33)构成块,块构成stage, stage构成最终的网络。注意basic_block和bottleneck的区别。downsample如何实现输入和输出跳层相加。块与块之间如何完成连接,最终构成stage.编写卷积结构的输入参数:输入输出通道数,kernalsize, 步进,padding, biase,要学会将常用的结构封装为函数或类,例如:33卷积...原创 2020-02-15 17:17:33 · 939 阅读 · 0 评论 -
pytorch实现论文中的unet网络
设计神经网络的一般步骤:1. 设计框架2. 设计骨干网络Unet网络设计的步骤:1. 设计Unet网络工厂模式2. 设计编解码结构3. 设计卷积模块4. unet实例模块Unet网络最重要的特征:1. 编解码结构。2. 解码结构,比FCN更加完善,采用连接方式。3. 本质是一个框架,编码部分可以使用很多图像分类网络。示例代码:import torchimport torch....原创 2020-02-13 13:37:52 · 1077 阅读 · 0 评论 -
Segnet的理解
**结构的整体理解:**本质上遵循编码解码结构,与FCN , Unet相同。**主要贡献:**上采样采用下采样最大池化的位置索引,其余位置补充为0。这样可以提升训练效率,同时节约内存,边缘更平缓,速度很快。与FCN的上采样比较:左边为segnet, 右边为FCN。参考链接:https://blog.youkuaiyun.com/qq_34606546/article/details/8943448...原创 2020-02-05 00:19:46 · 1422 阅读 · 0 评论 -
Unet网络理解
Unet网络本质是一个框架,主要由编码和解码构成,编码结构可以用任何图像分类结构。核心贡献:(1)编解码结构与FCN相比,解码结构更加完善,能够得到更加准确的分辨率。(2)skip-connection与FCN相比,有更长距离的skipFCN采取的方式是直接相加,而Unet采用的是连接方式。应用:(1)主要应用于医学图像分割。(2)姿态估计(3)Gan网络联系:VGG——re...原创 2020-02-04 20:12:51 · 5575 阅读 · 0 评论 -
FCN论文学习笔记
摘要:摘要主要阐述了FCN的原理和结构,以及它目前的效果。原理和结构:(1)迁移学习了当前分类性能比较好的网络作为FCN网络的分类网络,例如:VGG,resnet,Alexnet。(2)全卷积网络的建立。全卷积网络的建立,直观上的表现为,可以训练任意尺寸的输入,而相应的输出为相同大小尺寸的图片,并且已经完成了像素级别的分类。(3)跳层结构。综合深层网络粗略的,抽象的特征信息和浅层网络精...原创 2020-01-19 11:47:50 · 326 阅读 · 1 评论 -
pytorch中定义卷结核
卷积核定义的几个要点:输入通道数,输出通道数,卷积核大小,补偿,扩展像素的大小。参考链接:https://blog.youkuaiyun.com/lyl771857509/article/details/84113177原创 2020-01-17 15:34:39 · 152 阅读 · 0 评论 -
FCN的理解
核心贡献:****(1)全卷积代替全连接层 1)这样做的好处是,减少训练参数。同时,可以训练任意大小的输入图片。 2)一维输出变成多维输出。 注:1.**全连接层的权重参数矩阵是预先设计好的,决定了训练样本的输入图片大小是固定的**。例如:VGG16网络中,输入大小是2...原创 2020-01-17 14:48:25 · 320 阅读 · 0 评论 -
CNN网络之池化的理解
贡献:(1)减少了参数。(2)增加了感受野。(3)平移不变性。(4)容易优化。池化是每个特征图单独做降采样,与基于卷积的降采样相比,更容易优化。网络的发展:池化可以看做带有步长的卷积,所以可以用卷积来取代池化。...原创 2020-01-16 15:22:15 · 366 阅读 · 0 评论