
Pytorch
Aidanmomo
这个作者很懒,什么都没留下…
展开
-
pytorch框架学习(19)——GPU使用
文章目录1. CPU 与 GPU2. GPU in Pytorch1. CPU 与 GPU2. GPU in Pytorchto函数:转换数据类型/设备tensor.to(*args, **kwargs)module.to(*args, **kwargs)区别:张量不执行inplace,模型执行inplace使用示例如下:torch.cuda常用方法:to...原创 2020-03-06 10:46:14 · 276 阅读 · 0 评论 -
pytorch框架学习(18)——finetune
文章目录1. Transfer Learning & Model Finetune2. Pytorch中的Finetune1. Transfer Learning & Model FinetuneTransfer Learning:机器学习分支,研究源域(source domain)的知识如何应用到目标域(target domain)Model Finetune:模型...原创 2020-03-02 12:29:12 · 330 阅读 · 0 评论 -
pytorch框架学习(17)——模型的保存与加载
文章目录1. 序列化与反序列化2. 模型保存与加载的两种方式3. 模型断点续训练1. 序列化与反序列化序列化:将内存中的每一个对象保存到硬盘当中,以二进制序列的形式存储下来反序列化:将硬盘中存储的二进制数据反序列化的放到内存当中2. 模型保存与加载的两种方式pytorch当中的序列化与反序列化函数:torch.save主要参数:obj:对象f:输出路径t...原创 2020-03-02 11:16:03 · 411 阅读 · 0 评论 -
Pytorch框架学习(16)—— Normalization
文章目录1. Why Normalization2. Batch Normalization3. Layer Normalization4. Instance Normalization5. Group Normalization1. Why Normalization因为在深度学习当中存在ICS(Internal Covariate shift)问题:数据尺度/分布异常,导致训练困难从公...原创 2020-02-27 18:28:37 · 622 阅读 · 0 评论 -
pytorch框架学习(15)——正则化
文章目录1. 正则化与偏差-方差分解2. pytorch中的L2正则项——weight decay1. 正则化与偏差-方差分解Regularization:减小方差的策略(防止过拟合)误差可分解为:偏差,方差与噪声之和。即误差 = 偏差 + 方差 + 噪声偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力方差:度量了同样大小的训练集的变动所...原创 2020-02-24 12:07:07 · 270 阅读 · 0 评论 -
pytorch框架学习(13)——可视化工具TensorBoard
文章目录1. TensorBoard简介1. TensorBoard简介TensorBoard:TensorFlow中强大的可视化工具支持标量、图像、文本、音频、视频和Embedding等多种数据可视化运行机制tensorboard --logdir=./runs作业熟悉TensorBoard的运行机制,安装TensorBoard,并绘制曲线 y = 2*ximport ...原创 2020-02-20 12:24:10 · 419 阅读 · 0 评论 -
pytorch框架学习(12)——学习率调整策略
文章目录1. pytorch的六种学习率调整策略2. 学习率调整小结1. pytorch的六种学习率调整策略class _LRScheduler主要属性:optimizer:关联的优化器last_epoch:记录epoch数base_lrs:记录初试学习率主要方法:step():更新下一个epoch的学习率get_lr():虚函数,计算下一个epoch的学习率...原创 2020-02-17 18:15:56 · 505 阅读 · 0 评论 -
Pytorch框架学习(11)——优化器
文章目录1. 什么是优化器2. optimizer的属性3. optimizer的方法1. 什么是优化器pytorch的优化器:管理并更新模型中可学习参数的值,使得模型输出更接近真实标签基本属性defaults:优化器超参数state:参数的缓存,如momentum的缓存param_groups:管理的参数组(list)_step_count:记录更新次数,学习率调整中使用...原创 2020-02-15 18:35:31 · 311 阅读 · 0 评论 -
Pytorch框架学习(10)——损失函数
文章目录1. 损失函数概念2. 交叉熵损失函数3. NLL/BCE/BCEWITHLogits Loss1. 损失函数概念损失函数:衡量模型输出与真实标签的差异损失函数(Loss Function):Loss=f(y^,y)Loss = f(\hat{y}, y)Loss=f(y^,y)代价函数(Cost Function):Loss=1N∑iNf(yi^,yi)Loss = \...原创 2020-02-13 21:34:59 · 489 阅读 · 0 评论 -
Pytorch框架学习第七次作业——损失函数
Lossfunction依旧属于网络层的概念,即仍旧是Module的子类,为了对lossfunction有一个更清晰的概念,需要大家采用步进(Step into)的调试方法从loss_functoin = nn.CrossEntropyLoss() 语句进入函数,观察从nn.CrossEntropyLoss()到class Module(object)一共经历了哪些类,记录其中所有进入的类及...原创 2020-02-10 22:32:55 · 243 阅读 · 0 评论 -
Pytorch框架学习(9)——权值初始化
文章目录1. 梯度消失与梯度爆炸2. Xavier方法与Kaiming方法2.1 Xavier初始化2.2 Kaiming初始化3. 常用初始化方法1. 梯度消失与梯度爆炸不恰当的权值初始化可能会引起梯度消失或者梯度爆炸。我们从一个例子中来理解梯度消失与梯度爆炸。,下图给出一个两层网络,我们来计算一下W2W_2W2的梯度。从计算过程中可以看到,当H1H_1H1趋近于0时,会导致W2...原创 2020-02-10 21:14:32 · 296 阅读 · 0 评论 -
pytorch框架学习第六次作业——nn网络层
1. 深入理解二维卷积,采用手算的方式实现以下卷积操作,然后用代码验证。1)采用2个尺寸为33的卷积核对3通道的55图像进行卷积,padding=0, stride=1,dilation=0其中 input shape = (3, 5, 5),数据如下kernel size = 3*3, 第一个卷积核所有权值均为1, 第二个卷积核所有权值均为2,计算输出的feature map...原创 2020-02-06 23:09:09 · 277 阅读 · 0 评论 -
pytorch框架学习(8)——nn网络层
文章目录1. 卷积层1.2 1d/2d/3d卷积1.3 卷积-nn.Conv2d()1.4 转置卷积-ConvTranspose2. 池化层——Pooling Layer3. 线性层——Linear Layer4. 激活函数层——Activation Layer1. 卷积层1.2 1d/2d/3d卷积卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加卷积核:又称为滤波器,...原创 2020-02-06 17:15:27 · 511 阅读 · 0 评论 -
pytorch框架学习第五次作业——模型创建步骤与nn.Module
1. 采用步进(Step into)的调试方法从创建网络模型开始(net = LeNet(classes=2))进入到每一个被调用函数,观察net的_modules字段何时被构建并且赋值,记录其中所有进入的类与函数第一步:net = LeNet(classes=2)第二步:LeNet类,init(),super(LeNet, self).init()第三步: Module类, init()...原创 2020-02-03 15:57:08 · 379 阅读 · 0 评论 -
pytorch框架学习(7)——模型创建与nn.Module
文章目录1. 网络模型创建步骤2. nn.Module3. 模型容器Containers4. AlexNet网络构建1. 网络模型创建步骤机器学习模型训练主要分为以下5个步骤,今天主要学习其中的模型部分模型创建步骤模型构建两要素:构建子模块,拼接子模块构建子模块在__init__()函数中实现拼接子模块在forward()函数中实现2. nn.Modulenn.tor...原创 2020-02-03 15:56:31 · 482 阅读 · 0 评论 -
Pytorch框架学习第四次作业——transforms
1. 将介绍的transforms方法一一地,单独地实现对图片的变换,并且通过plt.savefig将图片保存下来(1)中心裁剪(2)随机裁剪transforms.RandomCrop(200, padding=16)(3)随机大小、长宽比裁剪图片transforms.RandomResizedCrop(size=200, scale=(0.1, 0.9))(4)FiveCr...原创 2020-01-29 15:53:59 · 450 阅读 · 0 评论 -
Pytorch框架学习(6)——transforms与normalize
图像预处理Transforms与normalize文章目录图像预处理Transforms与normalize1. transforms运行机制2. 数据标准化——transforms.normalize1. transforms运行机制torchvision工具包中包含三个主要模块,今天主要学习transformstorchvision.transforms:常用的数据预处理方法,提升...原创 2020-01-28 18:29:35 · 10262 阅读 · 0 评论 -
pytorch第四次作业-DataLoder与数据预处理
1. 采用步进(Step into)的调试方法从 for i, data in enumerate(train_loader) 这一行代码开始,进入到每一个被调用函数,直到进入RMBDataset类中的__getitem__函数,记录从 for循环到RMBDataset的__getitem__所设计的类与函数?第一步:for i, data in enumerate(train_loader...原创 2020-01-21 17:19:35 · 986 阅读 · 0 评论 -
Pytorch框架学习(5)——DataLoder与Dataset
Dataloder与DataSet文章目录Dataloder与DataSet1. 人民币二分类2. DataLoder与Dataset2.1 DataLoder2.2 DataSet2.3 数据读取1. 人民币二分类今天主要分享机器学习训练过程的数据处理过程。数据:数据收集:Img,Label数据划分:训练集,验证集,测试集数据读取:DataLoder(Sampler:生成索引...原创 2020-01-21 10:45:18 · 655 阅读 · 0 评论 -
Pytorch框架学习(4)——autograd与逻辑回归
autograd与逻辑回归1. torch.autograd自动求导系统torch.autograd.backward功能:自动求取梯度tensors:用于求导的张量,如lossretain_graph:保存计算图create_graph:创建导数计算图,用于高阶求导grad_tensors:多梯度权重(当有多个loss需要计算梯度时,需要设置各个loss之间的权重比例)...原创 2020-01-18 23:43:16 · 317 阅读 · 0 评论 -
第三次作业——autograd与逻辑回归
1. 逻辑回归模型为什么可以进行二分类?2. 采用代码实现逻辑回归模型的训练,并尝试调整数据生成中的mean_value,将mean_value设置为更小的值,例如1,或者更大的值,例如5,会出现什么情况?再尝试仅调整bias,将bias调为更大或者负数,模型训练过程是怎么样的?...原创 2020-01-18 22:17:07 · 277 阅读 · 0 评论 -
Pytorch框架学习(3)——计算图与动态图机制
计算图与动态图机制1. 计算图计算图是用来描述运算的有向无环图计算图有两个主要元素:结点(Node)和边(Edge)结点表示数据,如向量,矩阵,张量。边表示运算,如加减乘除卷积等用计算图表示:y=(x+w)∗(w+1)y = (x + w) * (w + 1)y=(x+w)∗(w+1)将原来的计算拆分成a=x+w和b=w+1,y=a∗ba = x + w 和 b = w + 1, ...原创 2020-01-18 22:00:56 · 608 阅读 · 0 评论 -
第二次作业
1. 调整线性回归模型停止条件以及y = 2*x + (5 + torch.randn(20, 1))中的斜率,训练一个线性回归模型;""" 作者:Aidan 时间:18/01/2020 功能:线性回归"""import torchimport matplotlib.pyplot as pltdef main(): torch.manual_see...原创 2020-01-18 21:22:54 · 263 阅读 · 1 评论 -
Pytorch框架学习(2)——张量操作与线性回归
张量操作与线性回归1. 张量的操作:拼接、切分、索引和变换1.1 张量的拼接与切分torch.cat()功能:将张量按维度dim进行拼接(不会扩充张量的维度)tensors:张量序列dim:要拼接的维度torch.stack()功能:在新创建的维度dim上进行拼接(创建新的维度扩充张量)tensors:张量序列dim:要拼接的维度torch.chu...原创 2020-01-18 21:18:31 · 342 阅读 · 0 评论 -
Pytorch第一次作业
第一次作业1. 安装anaconda,pycharm, CUDA+CuDNN(可选),虚拟环境,pytorch,并实现hello pytorch查看pytorch的版本2. 张量与矩阵、向量、标量的关系是怎么样的?张量是一个多维数组,它是矩阵、向量、标量的高维拓展3. Variable“赋予”张量什么功能?Variable用于封装Tensor,使其可以自动求导4. 采用t...原创 2020-01-14 14:54:12 · 312 阅读 · 0 评论 -
深度之眼Pytorch框架训练营第三期(1)——张量简介与创建
张量简介与创建1. 张量的概念张量是一个多维数组,它是标量、向量、矩阵的高维扩展。1.1 Tensor 与 VariableVariable是torch.autograd中的数据类型,主要用于封装Tensor,进行自动求导,包含五个属性:data:被包装的Tensorgrad:data的梯度grad_fn:创建Tensor的function,是自动求导的关键require...原创 2020-01-13 13:53:52 · 548 阅读 · 0 评论