深度之眼Pytorch框架训练营第四期
Ikerlz
这个作者很懒,什么都没留下…
展开
-
深度之眼Pytorch框架训练营第四期——循环神经网络RNN与Pytorch实现
文章目录循环神经网络RNN与Pytorch实现1、循环神经网络(RNN)是什么(1)简介(2)RNN网络结构2、 RNN如处理成不定长输入?3、训练RNN实现人名分类循环神经网络RNN与Pytorch实现1、循环神经网络(RNN)是什么(1)简介循环神经网络的英文名为 Recurrent Neural Networks ,简称为RNNRNNRNN,这里最关键的就是**“循环”**,通过RNNRNNRNN可以处理不定长输入的模型,并且RNNRNNRNN适用于处理输入数据具有前后关系的数据,因此常用于N原创 2020-06-24 16:48:56 · 509 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——生成对抗网络GAN与Pytorch实现
文章目录生成对抗网络GAN与Pytorch实现1、生成对抗网络(GAN)是什么?2、如何训练GAN?3、 训练DCGAN实现人脸生成(1)网络结构(2)Pytorch实现4、 GAN的应用生成对抗网络GAN与Pytorch实现1、生成对抗网络(GAN)是什么?所谓的生成对抗网络,就是一种可以生成特定分布数据的神经网络模型GAN网络结构如上图所示,GANGANGAN网络结构中,最重要的是两个模块:GGG和DDD,输入的数据,通过GGG生成了一些伪数据G(z)G(z)G(z),然后与真实数据XX原创 2020-06-22 18:59:33 · 677 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——目标检测与Faster RCNN
目标检测与Faster RCNN1、图像目标检测是什么?目标检测的核心是:判断图像中目标的位置,这里涉及到两个对象,一个是目标,一个是位置,因此目标检测的两要素为:分类:即对目标进行分类,得到分类向量[p0,…,pn][p_0,\ldots, p_n][p0,…,pn],通常是一个n+1n+1n+1维的向量,背景为第0类回归:确定回归边界框:[x1,y1,x2,y2][x_1, y_1, x_2, y_2][x1,y1,x2,y2]2、模型是如何完成目标检测的?模型要完成目标检测原创 2020-06-19 11:39:52 · 566 阅读 · 1 评论 -
深度之眼Pytorch框架训练营第四期——图像分割与Pytorch实现
文章目录图像分割与Pytorch实现1、图像分割是什么2、模型是如何将图像分割的3、深度学习图像分割模型简介(1)FCN模型(2)Unet模型(3)Deepnet系列1)Deepnet-V12)Deepnet-V23)Deepnet-V34)Deepnet-V3+4、训练Unet完成人像抠图图像分割与Pytorch实现1、图像分割是什么图像分割本质上是对图像中的每一个像素进行分类,图像分割通常有下面四个领域:超像素分割:少量超像素代替大量像素,常用于图像预处理。下图中,每一个白色的区域都是一个超像原创 2020-06-16 18:00:11 · 1048 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——图像分类与Resnet
文章目录图像分类与Resnet1、模型是如何将图像分类的2、 resnet18模型inference代码(1)图像分类的Inference(推理)3、resnet18结构分析(1)图像分类经典模型(2)Resnet结构分析(3)`Pytorch`中的Resnet实现图像分类与Resnet1、模型是如何将图像分类的上面这一幅图象,对于人类而言,我们看到的是一个RGB图像,然后判断出这是一个蜜蜂,而对于计算机而言,是无法理解RGB图像的,它能看到的是一个三维的张量,然后它也没办法判断这是一个蜜蜂图像,它原创 2020-06-15 23:13:14 · 539 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——Pytorch中常见报错总结
PyTorch中的常见报错总结Pytorch中报错报错信息非常多,这里简单总结十六种常见的报错信息,方便大家Debug1报错:ValueError: num_samples should be a positive integer value, but got num_samples=0可能的原因:传入的Dataset中的len(self.data_info)==0,即传入该dataloader的dataset里没有数据解决方法:检查dataset中的路径,路径不对,读取不到数据检查Data原创 2020-06-11 16:51:06 · 663 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——Pytorch中GPU的使用
文章目录GPU的使用1、CPU与GPU2、数据迁移至GPU(1)`.to()`函数:转换数据类型或设备(2)`torch.cuda`模块3、多GPU并行运算(1)多GPU运算的分发并行机制(2)`PyTorch`实现GPU的使用1、CPU与GPUCPU(Central Processing Unit, 中央处理器):主要包括控制器和运算器GPU(Graphics Processing Unit, 图形处理器):处理统一的,无依赖的大规模数据运算从上面的图可以看出,GPU的ALU(算术运算单元)比原创 2020-06-11 15:50:38 · 487 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——Pytorch中的模型微调(Finetune)
文章目录模型微调(Finetune)1、迁移学习(transfer learning)&模型微调(Finetune)2、PyTorch中的Finetune(1)直接训练(2)迁移训练,但不冻结卷积层,固定学习率(3)迁移训练,冻结卷基层,固定学习率(4)迁移训练,不冻结卷基层,设置小学习率模型微调(Finetune)1、迁移学习(transfer learning)&模型微调(Finetune)迁移学习:机器学习分支,研究源域(source domain)的知识如何应用到目标域(tar原创 2020-06-09 13:59:31 · 505 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——Pytorch中的模型的保存与加载
文章目录模型的保存与加载1、序列化与反序列化(1)`PyTorch`的序列化——`torch.save`(2)`PyTorch`的反序列化——`torch.load`2、模型保存与加载的两种方式3、模型断点续训练模型的保存与加载1、序列化与反序列化序列化:变量从内存中变成可存储或传输的过程称之为序列化反序列化:把变量内容从序列化的对象重新读到内存里称之为反序列化(1)PyTorch的序列化——torch.save主要参数:obj:对象f:输出路径(2)PyTorch的反序列化——t原创 2020-06-09 10:19:16 · 280 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——Pytorch中的标准化
文章目录`Pytorch`中的标准化1、标准化概念2、`Pytorch`中的标准化方法(1)Batch Normalization:批标准化1)`PyTorch`中的 *Batch Normalization* 实现2)应用(2)Layer Normalization:层标准化<1> 概念<2> `Pytorch`中的实现——`nn.LayerNorm`(3)Instance Normalization:例标准化<1> 概念<2> `Pytorch`中的实现—原创 2020-06-05 16:28:00 · 1381 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——正则化之 Dropout
文章目录正则化之 Dropout1、Dropout概念2、`Pytorch`中的`Dropout`3、`Pytorch` 中 `Dropout` 的实现细节正则化之 Dropout1、Dropout概念开篇明义,dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络如图所示,所谓的dropout,就是把某些神经元丢弃,相当于权值为0,然后进行模型的训练。原创 2020-06-01 16:11:48 · 1098 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——正则化之weight decay
文章目录正则化之weight decay1、正则化与偏差-方差分解2、`Pytorch`中的L2正则项——weight decay正则化之weight decay1、正则化与偏差-方差分解机器学习中的误差可以看作噪声+偏差+方差:噪声:在当前任务上任何学习算法所能达到的期望泛化误差的下界,无法通过优化模型来减小偏差:指一个模型在不同训练集上的平均性能和最优模型的差异,度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力方差:指一个模型在不同训练集上的差异,度量了同样大小原创 2020-06-01 16:07:01 · 680 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——Hook函数与CAM算法
文章目录Hook函数与CAM算法1、Hook函数概念2、Hook函数与特征图提取(2)`Module.register_forward_hook`(3)`Module.register_forward_pre_hook`(4)`Module.register_backward_hook`(5)采用hook函数,实现特征图可视化3、CAM(class activation map,类激活图)Hook函数与CAM算法1、Hook函数概念Hook 是 PyTorch 中一个十分有用的特性。利用它,我们可以不原创 2020-05-29 18:39:12 · 691 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——PyTorch中的可视化工具
可视化工具TensorBoardPyTorch从 1.2.0 版本开始,正式自带内置的Tensorboard支持了,可以不再依赖第三方工具来进行可视化Tensorboard工作原理为:先使用Python脚本记录可视化数据,然后将数据存入硬盘,最后在终端中运行tensorboard,并在Web界面进行展示1、SummaryWriter类class SummaryWriter(object): """Writes entries directly to event files in the原创 2020-05-28 17:10:34 · 581 阅读 · 1 评论 -
深度之眼Pytorch框架训练营第四期——PyTorch中学习率调整策略
文章目录学习率调整策略1、学习率调整的必要性2、`Pytorch`中的六种学习率调整策略(1)基类`_LRScheduler`(2)六种学习率调整方法<1> `lr_scheduler.StepLR`<2> `lr_scheduler.MultiStepLR`<3> `lr_scheduler.ExponentialLR`<4> `lr_scheduler.CosineAnnealingLR`<5> `lr_scheduler.ReduceLROn原创 2020-05-26 13:43:54 · 662 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——PyTorch中的优化器
文章目录优化器(Optimizer)1、优化器概念2、`PyTorch`中的优化器基类:`Optimizer`(1)参数组概念(2)基类属性(3)基类方法3、`Pytorch`中的十种优化器(1)学习率(learning rate)(2)动量(momentum)(3)优化器——` torch.optim.SGD`(4)`Pytorch`中其他九种优化器<1>`torch.optim.ASGD`<2> `torch.optim.Rprop<3>`torch.optim.Ad原创 2020-05-24 11:07:10 · 1733 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——损失函数
文章目录损失函数1、损失函数概念(1)概述(2)`PyTorch`中的Loss2、交叉熵损失函数3、NLL/BCE/BCEWithLogits Loss(1)`nn.NLLLoss`(2)`nn.BCELoss`(3)`nn.BCEWithLogitsLoss`4、其余14种损失函数介绍(1)`nn.L1Loss`(2)`nn.MSELoss`(3)`SmoothL1Loss`(4)`PoissonNLLLoss`(5)`nn.KLDivLoss`(6)`nn.MarginRankingLoss`(7)`n原创 2020-05-21 17:38:10 · 793 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——权值初始化
文章目录十、权值初始化1、梯度消失与爆炸2、Xavier方法与Kaiming方法(1)`Xavier`方法(2) `Kaiming`方法3、常用初始化方法十、权值初始化1、梯度消失与爆炸上图中,H2=H1×W2H_2 = H_1 \times W_2H2=H1×W2,则W2W_2W2的梯度为:ΔW2=∂Loss∂W2=∂Loss∂out×∂out∂H2×∂H2∂W2=∂Loss∂out×∂out∂H2×H1\Delta W_2 = \frac{\partial{Loss}}{\parti原创 2020-05-21 17:37:53 · 316 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——池化、线性、激活函数层
文章目录九、池化、线性、激活函数层1、池化层(*Pooling Layer*)(1)概述(2)`PyTorch`实现<1> `nn.MaxPool2d()`<2> `nn.AvgPool2d`<3> `nn.MaxUnpool2d`2、线性层(*Linear Layer*)`PyTorch`实现:`nn.Linear`3、激活函数层(*Activation Layer*)(1)`nn.sigmoid`(2)`nn.tanh`(3)`nn.ReLU`九、池化、线性、激活函原创 2020-05-18 11:21:41 · 397 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——神经网络中的卷积层
文章目录神经网络中的卷积层1、不同维度的卷积2、卷积:`nn.Conv1d()`与`nn.Conv2d()`(1)`nn.Conv1d()`(2)`nn.Conv2d()`3、转置卷积:`nn.ConvTranspose`(1)概述(2)`PyTorch`实现——`nn.ConvTranspose2d`神经网络中的卷积层1、不同维度的卷积卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加卷积核:又称为滤波器,过滤器,可认为是某种模式,某种特征如下图所示,卷积过程类似于用一个模板去图像原创 2020-05-18 11:06:56 · 559 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——数据读取机制中的Dataloader与Dataset
文章目录数据读取机制中的`Dataloader`与`Dataset`1、`Dataloader`2、`Dataset`3、实战:人民币二分类的数据读取4、数据读取源码分析数据读取机制中的Dataloader与Dataset前面学习到机器学习训练的五个步骤为:数据模型损失函数优化器迭代训练而这里的数据模块可以细分为四个子模块:数据收集:在进行实验之前,需要收集数据,数据包括原始样本和标签数据划分:有了原始数据之后,需要对数据集进行划分,把数据集划分为训练集、验证集和测试集;训练集用于训练原创 2020-05-13 23:28:20 · 754 阅读 · 3 评论 -
深度之眼Pytorch框架训练营第四期——模型容器与AlexNet构建
文章目录模型容器与`AlexNet`构建1、模型容器:`Containers`(1)容器之Sequential(2)容器之ModuleList(3)容器之ModuleDict容器小结2、`AlexNet`构建模型容器与AlexNet构建1、模型容器:ContainersPyTorch的Containers中有三个常用的模块:nn.Sequential:按顺序包装多个网络层nn.ModuleList:像python的list一样包装多个网络层nn.ModuleDict:像python的dict一原创 2020-05-13 23:18:11 · 391 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——模型创建与nn.Module
文章目录六、模型创建与` nn.Module`1、模型创建步骤2、`nn.Module`3、以`LeNet`模型为例探究`nn.Module`(1)初始化部分:`__init__()`(3)`nn.Module`的属性构建六、模型创建与nn.Module1、模型创建步骤模型的创建示意图如下:从上图中可以看出,模型的创建与权值初始化共同构成了模型,模型的创建只要包括了:构建网络层:卷积层,池化层,激活函数等;拼接网络层:网络层有构建网络层后,需要进行网络层的拼接,拼接成LeNetLeNetLe原创 2020-05-13 23:12:55 · 342 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——图像预处理(图像增强)——transforms
图像预处理(图像增强)——transforms1、transforms运行机制torchvision是Pytorch的计算机视觉工具包,在torchvision中有三个主要的模块:torchvision.transforms:常用的图像预处理方法,在transforms中提供了一系列的图像预处理方法,例如数据的标准化,中心化,旋转,翻转等等torchvision.datasets:定义了一系列常用的公开数据集的datasets,比如常用的MNIST,CIFAR-10,ImageNet等等;tor原创 2020-05-13 23:07:26 · 1731 阅读 · 1 评论 -
深度之眼Pytorch框架训练营第四期——PyTorch中自动求导系统(torch.autograd)
文章目录`PyTorch`中自动求导系统(`torch.autograd`)1、`torch.autograd`(1)`torch.autograd.backward`(2)`torch.autograd.grad`2、实战:逻辑回归的`Pytorch`实现(1)逻辑回归理论(2)`Pytorch`实现PyTorch中自动求导系统(torch.autograd)训练深度学习模型本质上就是不断更新权值,而权值的更新需要求解梯度,因此求解梯度非常关键。然而求解梯度十分繁琐,pytorch提供自动求导系统,利原创 2020-05-10 15:52:54 · 456 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——PyTorch的计算图与动态图机制
文章目录`Pytorch`的计算图与动态图机制1、计算图(Computational Graph)2、动态图机制Pytorch的计算图与动态图机制1、计算图(Computational Graph)计算图是一个用来描述运算的有向无环图计算图有两个主要元素:结点(Node)和边(Edge):结点表示数据:向量,矩阵,张量等边表示运算,如加减乘除卷积等例子:利用计算图表示y=(x+w)∗(w+1)y=(x+w) *(w+1)y=(x+w)∗(w+1)第一步:创建xxx和www第二步:令a=原创 2020-05-10 15:39:13 · 470 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第四期——PyTorch中的张量
【深度之眼Pytorch框架训练营第四期】PyTorch中的张量`PyTorch`中的`Tensor`在这里插入图片描述(张量)1、`Tensor`概念(1)张量是什么(2)`Tensor`与`Variable`2、`Tensor`的创建(1)直接创建(2)依据数值创建(3)依据概率创建3、`Tensor`的操作(1)张量的拼接与切分**张量的拼接****张量的切分**(2)张量索引(3)张量变换4、`Tensor`的数学运算(1)加减乘除(2)对数,指数,幂函数(3)三角函数(1)求解步骤(2)代码实现原创 2020-05-10 15:02:43 · 639 阅读 · 2 评论