python3 pytorch0.4系列教程
文章平均质量分 87
pytorch在科学论文中使用的频率越来越高,本专栏旨在介绍pytorch基础,DNN,CNN,RNN, GAN等网络结构,涉及到图像处理,回归分析,分类问题,NLP等问题。代码基于pytorch新版本0.4
墨氲
这个作者很懒,什么都没留下…
展开
-
pytorch系列13 ---优化算法optim类
本文主要讲解pytorch中的optim累以及lr_schdule类和optim优化器的配置,使用方法以及在https://blog.csdn.net/dss_dssssd/article/details/83892824中提及优化算法的使用步骤,optimer = optim.SGD() 先初始化反向传播更新参数将上次迭代计算的梯度值清0optimizer.zero_grad...原创 2018-12-01 14:10:13 · 2726 阅读 · 1 评论 -
pytorch系列12 --pytorch自定义损失函数custom loss function
本文主要内容:nn.Module 和 nn.Functional 区别和联系自定义损失函数1. 关于nn.Module与nn.Functional的区别:https://discuss.pytorch.org/t/whats-the-difference-between-torch-nn-functional-and-torch-nn/681https://www.zhihu.co...原创 2018-11-15 16:34:45 · 59901 阅读 · 12 评论 -
pytorch系列 --11 pytorch loss function: MSELoss BCELoss CrossEntropyLoss及one_hot 格式求 cross_entropy
本文主要包括:pytorch 实现的损失函数pytorch实现的loss function神经网络主要实现分类以及回归预测两类问题,对于回归问题,主要讲述均方损失函数,而对于一些回归问题,需要根据特殊情况自定义损失函数。对于分类,主要讲述二分类交叉熵和多分类交叉熵函数在讲解函数之前,提前说一下:所有的loss的基类是Module,所以使用loss的方法是:# 1. 创建损失函数...原创 2018-11-13 22:41:05 · 8456 阅读 · 0 评论 -
pytorch系列10 --- 如何自定义参数初始化方式 ,apply()
本文主要内容:单层网络初始化多层网络初始化使用apply和weight_init函数在__init__函数使用self.modules()初始化1.单层网络在创建model后直接调用torch.nn.innit里的初始化函数layer1 = torch.nn.Linear(10,20)torch.nn.init.xavier_uniform_(layer1.weigh...原创 2018-11-12 15:26:28 · 46613 阅读 · 5 评论 -
pytorch系列 ---9的番外, Xavier和kaiming是如何fan_in和fan_out的,_calculate_fan_in_and_fan_out解读 Conv2d
将阿斯加原创 2018-11-12 15:25:25 · 5413 阅读 · 0 评论 -
pytorch系列 -- 9 pytorch nn.init 中实现的初始化函数 uniform, normal, const, Xavier, He initialization
本文内容:1. Xavier 初始化2. nn.init 中各种初始化函数3. He 初始化torch.init https://pytorch.org/docs/stable/nn.html#torch-nn-init1. 均匀分布torch.nn.init.uniform_(tensor, a=0, b=1)服从~U(a,b)U(a, b)U(a,b)2. 正太分布tor...原创 2018-11-11 16:13:49 · 62173 阅读 · 15 评论 -
pytorch系列8 --self.modules() 和 self.children()的区别
本文主要讲述:self.modue和self.children的区别与联系说实话,我真的只想讲参数初始化方式,但总感觉在偏离的道路上越走越远。。。在看一些pytorch文章讲述自定义参数初始化方式时,使用到了self.modules()和self.children()函数,觉得还是需要讲解一下的。不如直接看一下代码:import torchfrom torch import nn...原创 2018-11-11 14:46:30 · 24779 阅读 · 19 评论 -
pytorch系列7 -----nn.Sequential讲解
nn.Sequential原创 2018-10-09 13:56:05 · 229271 阅读 · 32 评论 -
pytorch系列6 -- activation_function 激活函数 relu, leakly_relu, tanh, sigmoid及其优缺点
为什么需要非线性的激活函数呢?只是将两个或多个线性网络层叠加,并不能学习一个新的东西,接下来通过简单的例子来说明一下:假设输入 xxx第一层网络参数:w1=3,b1=1w_1 = 3, b_1=1w1=3,b1=1第二层网络参数: w2=2,b2=2w_2=2, b_2=2w2=2,b2=2经过第一层后输出为y1=3×x+1y_1 = 3\times x + 1y1=3×...原创 2018-11-10 10:48:06 · 19026 阅读 · 3 评论 -
pytorch系列 ----暂时就叫5的番外吧: nn.Modlue及nn.Linear 源码理解
先看一个列子:import torchfrom torch import nnm = nn.Linear(20, 30)input = torch.randn(128, 20)output = m(input)output.size()out:torch.Size([128, 30])刚开始看这份代码是有点迷惑的,m是类对象,而直接像函数一样调用m,m(input)重...原创 2018-10-09 09:49:04 · 23892 阅读 · 14 评论 -
pytorch系列 ---5以 linear_regression为例讲解神经网络实现基本步骤以及解读nn.Linear函数
本文主要讲述最简单的线性回归函数:y=wx+by=wx+by=wx+b在pytorch的实现,主要包括神经网络实现的基本步骤和nn.Linear的源码解读。1. nn.Linear 源码解读先看一下Linear类的实现:源代码网址:https://pytorch.org/docs/stable/_modules/torch/nn/modules/linear.htmlLinear继承于n...原创 2018-11-09 09:42:43 · 29679 阅读 · 15 评论 -
pytorch系列 --4 pytorch 0.4改动后Variable和Tensor合并问题data和.detach
本文主要讲述pytorch0.4更新后相关的代码迁移问题翻译 2018-11-07 15:03:21 · 11497 阅读 · 4 评论 -
pytorch系列 --3 Variable,Tensor 和 Gradient
Variable & Automatic Gradient CalculationTensor vs Variablegraph and gradient注意,在pytorch0.4中,tensor和pytorch合并了。https://pytorch.org/blog/pytorch-0_4_0-migration-guide/torch.Tensor 和 torch.aut...原创 2018-11-06 11:21:13 · 1913 阅读 · 2 评论 -
pytorch系列------2 tensor基础
pytorch Tensor的基本用法Tensor的创建索引,合并,切片初始化数学操作1. Tensor的创建1) 随机数字torch.rand(*sizes, out=None) → Tensor返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义# torch.rand(sizes) -> [0,1)之间的均匀分布x ...原创 2018-11-05 17:22:25 · 5749 阅读 · 2 评论 -
pytorch系列-----1 python class 中 的__call__方法
鉴于pytorch在科学论文领域用的越来越多,想写一个系列文章,讲述pytorch的用法。要学习pytorch,一个前提是 知道python calss中的__call__和__init__方法.简单的说就是:__init__: 类的初始化函数,蕾丝布c++的构造函数__call___: 使得类对象具有类似函数的功能。__init__比较好理解,现在主要看一下 __call__的功能...原创 2018-11-05 15:46:23 · 11043 阅读 · 5 评论