![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PyTorch实战学习笔记
Star·端木
知识的价值不在于占有,而在于使用。
展开
-
PyTorch入门实战教程笔记目录
PyTorch入门实战教程笔记目录1、PyTorch入门实战教程笔记(一):配置开发环境Anaconda 安装安装CUDAPyTorch安装安装PyCharm原创 2020-02-17 13:43:40 · 851 阅读 · 0 评论 -
PyTorch入门实战教程笔记(二十四):卷积神经网络实现 2
PyTorch入门实战教程笔记(二十三):卷积神经网络实现 1:ResNet实现CIFAR10CIFAR10数据集介绍关于CIFAR-10数据集,可以访问它的官网进行下载:http://www.cs.toronto.edu/~kriz/cifar.html。CIFAR包含常见的10类物体的照片,照片的size 为32×32,每一类照片有6000张,所以一共6000万张照片,我们把6万张照片...原创 2020-02-14 22:34:39 · 1145 阅读 · 3 评论 -
PyTorch入门实战教程笔记(二十三):卷积神经网络实现 1
PyTorch入门实战教程笔记(二十三):卷积神经网络实现 1 Lenet5实现CIFAR10CIFAR10数据集介绍关于CIFAR-10数据集,可以访问它的官网进行下载:http://www.cs.toronto.edu/~kriz/cifar.html。CIFAR包含常见的10类物体的照片,照片的size 为32×32,每一类照片有6000张,所以一共6000万张照片,我们把6万张照片随机选出5万张照片作为train...原创 2020-02-14 16:46:46 · 1155 阅读 · 2 评论 -
PyTorch入门实战教程笔记(二十二):卷积神经网络CNN 4
PyTorch入门实战教程笔记(二十二):卷积神经网络CNN 4数据增强Data argumentation,Big Data 能够使网strain的很好,并且可以有效地防止过拟合。但是现实生活中对于照片的获得不太容易,并且还要对照片进行标注(打label)。如何解决神经网络对数据的需求,是一种挑战,使用数据增强能够解决这个挑战。如果现在对于有限的数据,可以进行Small network ca...原创 2020-02-14 11:07:14 · 586 阅读 · 0 评论 -
PyTorch入门实战教程笔记(二十一):卷积神经网络CNN 3
PyTorch入门实战教程笔记(二十一):卷积神经网络CNN 3Resnet实战关于ResNet的理论详解可参考:ResNet-v1残差神经网络详解。由上面分析可知,ResNet是由下面的基本单元堆叠而成的。...原创 2020-02-13 20:38:29 · 655 阅读 · 0 评论 -
PyTorch入门实战教程笔记(二十):卷积神经网络CNN 2
PyTorch入门实战教程笔记(二十):卷积神经网络CNN 2Batch Norm详细相关论文解读可参考:Batch Normalization(BN层)网络详解,下面我们简要的分析一下,比如我们使用Sigmoid函数时,如果数据过小或者过大会出现梯度弥散的情况(即梯度为零),会很长时间得不到更新,我们会避免使用Sigmoid函数,而是用Relu函数。但是有些场合我们必须使用Sigmoid函数...原创 2020-02-13 16:51:32 · 948 阅读 · 2 评论 -
PyTorch入门实战教程笔记(十九):卷积神经网络CNN 1
PyTorch入门实战教程笔记(十九):卷积神经网络CNN 1什么是卷积卷积神经网络基本概念对于神经网络有几层,第一层为输入层,是不计算在内的,下图有3个隐藏层1个输出层,所以是4层的神经网络。每一层包含输入它的参数和它的输出。对于MiNIST数据集,28*28 输入为784,参数一共390k,1.6M存储。但是虽然1.6M存储,在当时储存计算也是非常困难的,计算机学家就利用模仿人眼的...原创 2020-02-12 20:15:44 · 1703 阅读 · 1 评论 -
PyTorch入门实战教程笔记(十八):过拟合2
PyTorch入门实战教程笔记(十八):过拟合2(训练小技巧)动量和学习率衰减动量(momentum) 我们先来回顾一下梯度更新的公式:wk+1 = wk - α▽f(wk),而动量再次基础上增加了一个zk参数(多减去一个β倍的zk),我们知道,当它减去梯度的时候,是往梯度方向走,当它减去zk,是不是就是往zk方向走,那么zk是什么呢? zk+1 = βzk - ▽f(wk),所以zk ...原创 2020-02-12 16:09:33 · 444 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十七):过拟合1
PyTorch入门实战教程笔记(十七):过拟合1过拟合&欠拟合在模型评估与调整的过程中,往往会遇到“过拟合”或“欠拟合”的情况。如何有效地识别“过拟合”和“欠拟合”现象,并有针对性进行模型调整,是不断改进机器学习模型的关键。特别是在实际项目中,采用多种方法、从多个角度降低“过拟合”和“欠拟合”的风险是应当具备的基础知识。在模型的评估过程中,过拟合和欠拟合具体是指什么现象呢?过拟合(...原创 2020-02-11 16:02:04 · 764 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十六):神经网络与全连接层3
PyTorch入门实战教程笔记(十六):神经网络与全连接层3GPU/CPU运行切换在训练网路时,采用GPU进行加速,pytorch提供了一个功能,能够一条语句切换在CPU、GPU上运算,如果在GPU上运行,device = torch.device( ‘cuda:0’ ), (后面的0是cuda的编号),如果在CPU上运行,将‘cuda’改成‘GPU’即可。对net搬到GPU上去,使用net ...原创 2020-02-11 12:30:32 · 337 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十五):神经网络与全连接层2
PyTorch入门实战教程笔记(十五):神经网络与全连接层2原创 2020-02-10 22:19:13 · 950 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十四):神经网络与全连接层1
PyTorch入门实战教程笔记(十四):神经网络与全连接层1交叉熵Cross Entropy Loss在介绍交叉熵之前,先介绍一下信息熵,表达式如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20200210164806479.png#pic_center = 400x)信息熵表达了信息出现的概率或者不确定性,如果uncertainty比较高,Ent...原创 2020-02-10 17:58:08 · 1002 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十三):梯度相关操作4
PyTorch入门实战教程笔记(十三):梯度相关操作4MLP反向传播在前面介绍我们了解到,对于多层感知机误差E对Wjk的偏导为(Ok-tk)Ok(1 - Ok)x0j , 如果前面在添加一层,其输出为OjJ ,那么 误差E对Wjk的偏导为(Ok-tk)Ok(1 - Ok)Oj J。如下图:那么对于多层的感知机MLP,链式求导详细推导如下图:下图第5行运用链式法则来求导,最终结果如红框所示,...原创 2020-02-10 11:21:32 · 286 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十二):梯度相关操作3
PyTorch入门实战教程笔记(十二):梯度相关操作3感知机的梯度推导单层感知机y = Σxi*Wi + b,简化结构如下图:我们把输入层即第0层编号为x00-n原创 2020-02-09 21:48:15 · 308 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十一):梯度相关操作2
PyTorch入门实战教程笔记(十一):梯度相关操作2Loss及其梯度均方差Mean Squared Error (MSE)MSE的基本形式为:loss = Σ[y - (xw + b)]2 ,这里要注意 mse与L2-norm是不同的 L2-norm = || y - (xw+b) ||2 其运算为√(Σ(yi - y0i)2), 故在程序中实现mse,通过下面的程序段:torch....原创 2020-02-09 21:14:41 · 501 阅读 · 0 评论 -
PyTorch入门实战教程笔记(十):梯度相关操作1
PyTorch入门实战教程笔记(十):梯度相关操作梯度概念梯度也就是所有自变量偏微分的向量(而不是标量),与导数不同,梯度有方向还有大小,反应朝某一方向梯度变化的大小,可用下式表示,例如,z = y2 - x2 ,其梯度为▽z = (-2x, 2y), 在(0,0)处的梯度为(0, 0), 在(1, 1)处的梯度为(-2,2)。用梯度找极小值解在PyTorch入门实战教程笔记(二):简单...原创 2020-02-08 23:30:39 · 566 阅读 · 0 评论 -
PyTorch入门实战教程笔记(九):基础张量操作5
PyTorch入门实战教程笔记(九):基础张量操作5:高阶操作 where&gatherWheretorch.where(condition, x, y) -->tensor,一共3个参数,第一个参数条件,判断其Ture or False。 如下:比如,现在将A, B的值根据condition传递给C,可以从C[0]=A[0],C[1]=B[1], 此外,设计到具体的数值,也...原创 2020-02-08 16:47:46 · 335 阅读 · 0 评论 -
PyTorch入门实战教程笔记(八):基础张量操作4
PyTorch入门实战教程笔记(八):基础张量操作4包含:数学运算,属性统计,高阶操作数学运算:Add/minus/multiply/divide:加减乘除基本运算(数学运算)Matmul:Tensor的矩阵式相乘(矩阵形式)Pow:矩阵的次方sqrt/rsqrt:矩阵的次方根Round:矩阵近似运算Add/minus/multiply/divide:基本运算: 加减乘除可...原创 2020-02-07 15:23:32 · 621 阅读 · 1 评论 -
PyTorch入门实战教程笔记(七):MNIST 手写数字识别代码详解
PyTorch入门实战教程笔记(八):MNIST 手写数字识别代码详解1. 流程1 加载数据2 建立模型3 训练4 测试2. 代码实战(1)文件1:utils.py辅助文件‘’’45484545‘’’...原创 2020-02-06 22:10:12 · 1989 阅读 · 0 评论 -
PyTorch入门实战教程笔记(六):基础张量操作3
PyTorch入门实战教程笔记(六):基础张量操作3包括:Broadcasting自动扩展、合并与分割Broadcasting自动扩展:特点:Expand(自动的)、without copying data。 比如,现在有一个张量A、B,将B扩展成与A相同的维度,假设A是feature map,B为偏置,A[4,32,14,14],B:[32],那么怎么办呢,可进行如下图扩展,要注意,扩...原创 2019-11-17 23:47:30 · 369 阅读 · 1 评论 -
PyTorch入门实战教程笔记(五):基础张量操作2
PyTorch入门实战教程笔记(五):基础张量操作2包括:索引与切片和 维度变换索引和切片:使用函数torch.rand()来创建一个数据,比如a = torch.rand(4,3,28,28),即为Batch size为4(即4张图片)的28×28的RGB图像,这也是CNN中最常用的,那么a[0]指的就是索引的第一张图片,a[0,1]指的是第一张图片第一个通道(如:R)的数据,示例如下图:...原创 2019-11-17 21:43:23 · 569 阅读 · 0 评论 -
PyTorch入门实战教程笔记(四):基础张量操作1
PyTorch入门实战教程笔记(四):基础张量操作1数据类型:Python 与PyTorch基本类型对比如下图,可以看到数据可以一一对应,不同的维度表示了不同的类型。不过应该注意的是,PyTorch中没有类键string支持的,不过可以采用编码的方式,例如One-hot来表示,如 [0,1,0,0…]. 除此之外,也可以用Embedding可以用来表示常用的语言,不多介绍。 在PyTor...原创 2019-11-03 21:11:37 · 489 阅读 · 1 评论 -
PyTorch入门实战教程笔记(三):手写数字问题引入
PyTorch入门实战教程笔记(三):手写数字问题引入MNIST数据集MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。下载数据集 网址:http://yann.lecun.com/exdb/mnist/ 数据集简介: 1、共有4数据集,下载之后保存在磁盘中(最好放在代码执...原创 2019-11-03 16:56:56 · 652 阅读 · 0 评论 -
PyTorch入门实战教程笔记(二):简单回归问题。
PyTorch入门实战教程笔记(二):简单回归问题简介在学之前先讲解一下梯度下降算法,因为梯度就是深度学习的核心精髓。举个例子,一个简单的函数,如下图:...原创 2019-11-03 14:00:38 · 984 阅读 · 0 评论 -
PyTorch入门实战教程笔记(一):配置开发环境:Anaconda-CUDA、PyTorch、Pychram
深度学习与PyTorch入门教程(一):配置开发环境原创 2019-11-02 21:15:50 · 748 阅读 · 2 评论