![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pytorch
陌生的天花板
这个作者很懒,什么都没留下…
展开
-
pytorch文档阅读(一)torch.nn.Containers
1.torch.nn是专门为深度学习设计的模块,所以一般进行网络设计时都必须先import torch.nn下面是torch.nn中包含的一些子模块接下来介绍其中比较重要的几个2.Containers顾名思义,容器,都是一些装东西的类1)Modulemodule是神经网络的基类,我们自己设计的网络都需要继承自这个基类,module也可以包含其他module(关于...翻译 2019-06-26 09:20:58 · 209 阅读 · 0 评论 -
语义SLAM(三)安装pytorch
1.选择合适的pytorch版本pytorch、cuda、python版本都有相互依赖的关系,可以到官网上查看,我们这里使用python2.7+cuda8.0+pytorch0.4.12.安装指定版本pip install torch==0.4.13.这样安装会超时,需要修改超时时间设置,还需要加权限sudosudo pip --default-timeout=100 in...原创 2019-07-01 09:02:27 · 557 阅读 · 1 评论 -
pytorch应用(五)Loss function
很多的 loss 函数都有 size_average 和 reduce 两个布尔类型的参数,需要解释一下。因为一般损失函数都是直接计算 batch 的数据,因此返回的 loss 结果都是维度为 (batch_size, ) 的向量。如果 reduce = False,返回维度为 (batch_size, ) 的向量,input和output的element wise求loss,此时size_a...转载 2019-06-29 09:52:37 · 654 阅读 · 1 评论 -
pytorch应用(四)训练过程可视化visdom
visdom的安装参考链接:https://blog.csdn.net/qq_36104364/article/details/88956717https://blog.csdn.net/weixin_41735859/article/details/887772171.安装sudo pip install visdom2.打开服务器python -m visdom...转载 2019-06-28 15:35:47 · 1975 阅读 · 0 评论 -
pytorch应用(三)参数初始化
1.代码中如何进行参数初始化参数初始化可以在网络结构设计时进行,例如class AlexNet(nn.Module): def __init__(self): super(AlexNet,self).__init__() ...原创 2019-06-28 11:13:42 · 3278 阅读 · 3 评论 -
pytorch应用(二)如何进行训练
制作好数据集、设计好网络结构,接下来就是训练网络1.设置优化方法、损失函数计算方法#选择优化方法,如果对网络的参数进行了冻结,这里也可以只训练没冻结的部分,设置学习率optimizer = torch.optim.SGD(net.parameters(), lr=1e-1)#设置损失函数criterion = nn.CrossEntropyLoss()#set a loss com...原创 2019-06-28 09:47:39 · 626 阅读 · 0 评论 -
pytorch应用(一)如何制作数据集
1.下载fashion-mnist数据集因为是二进制文件,所以需要自己转换成图片、txt标签#调用一些和操作系统相关的函数import os#输入输出相关from skimage import io#dataset相关import torchvision.datasets.mnist as mnist#路径root="/home/s/PycharmProjec...原创 2019-06-27 21:30:41 · 9736 阅读 · 1 评论 -
pytorch实战(三)CIFAR-10、DenseNet
1.DenseNet介绍文章链接:https://arxiv.org/pdf/1608.06993.pdf参考链接:https://cloud.tencent.com/developer/article/14515211)ResNet用了加法来做shortcut,这会阻碍信息传播,所以DenseNet用了concat;2)直接concat会导致输入数据channel爆炸,所以做了b...原创 2019-07-08 21:15:56 · 2652 阅读 · 2 评论 -
pytorch文档阅读(六)AUTOGRAD MECHANICS 自动求导机制
AUTOGRAD MECHANICS这部内容会给大家整体地展示自动求导机制是如何工作的以及如何记录下各种操作的Excluding subgraphs from backward每一个Tensor都有一个实现pytorch核心功能的flag:requires_grad,正是因为这个flag的存在,使得在计算梯度时所用的“图”可以有很精细的划分(例如某一个Tensor不参与计算梯度)并且可...翻译 2019-06-27 10:37:50 · 257 阅读 · 0 评论 -
pytorch实战(二)CIFAR-10、ResNet-18
之前用给我们自己设计的一个3层卷积网络在CIFAR-10上进行了实验,后期发现网络参数太少,在保证泛化性能的前提下拟合能力不足,所以需要加深网络,plain网络不如res网络好,所以我们就不设计plain网络了,直接用ResNet-18来做实验。1.ResNet简介参考链接:https://blog.csdn.net/shwan_ma/article/details/78163921...转载 2019-07-08 08:01:27 · 1917 阅读 · 1 评论 -
pytorch文档阅读(五)如何保存、加载网络模型
1.网络的保存torch.save()有两种方法1)仅保存网络参数torch.save(net.state_dict(), 'net_params.pkl')2)保存整个网络结构 torch.save(net, 'net.pkl')2.网络的加载1)仅加载参数model_object.load_state_dict(torch.load('net_params...原创 2019-06-26 19:55:07 · 6326 阅读 · 0 评论 -
pytorch文档阅读(四)如何在GPU上训练
1.网络模型转移到CUDA上net = AlexNet()net.cuda()#转移到CUDA上2.将loss转移到CUDA上criterion = nn.CrossEntropyLoss()criterion = criterion.cuda()这一步不做也可以,因为loss是根据out、label算出来的loss = criterion(out, label)...原创 2019-06-26 17:06:29 · 2933 阅读 · 0 评论 -
pytorch文档阅读(三)torch.optim
通过torch.nn定义好网络结构以后就要使用一定的优化方法对网络进行训练了,这涉及到优化模块torch.optim1.创建一个optimizer实例注意事项:如果需要在GPU上训练,需要在创建optimizer之前就移动到GPU上,在创建optimizer时必须保证所有待优化变量都储存在一块连续的空间内。optimizer = optim.SGD(model.parameters(...翻译 2019-06-26 14:51:07 · 229 阅读 · 0 评论 -
pytorch文档阅读(二)torch.nn.Convolution layers
1.模块功能简介这个模块就是torch为我们设计好的一些层结果,比如我想给网络加一个卷积层,直接用这个模块里的函数就可以实现,而不像低级语言需要自己编写层间的矩阵乘法以及变量的储存等工作,极大提高了网络搭建的效率。一行代码就可以给网络添加一个二维卷积层: self.conv1 = nn.Conv2d(3, 6, 5) Convolution layers模块包含的子模块...翻译 2019-06-26 10:14:01 · 366 阅读 · 0 评论 -
pytorch实战(一)简单卷积网络CIFAR10图片分类
之前已经学习了:如何利用pytorch设计简单的神经网络如何制作数据集何如使用设计的网络进行训练接下来利用一个简单的1.CIFAR10数据集介绍官方网站:http://www.cs.toronto.edu/~kriz/cifar.html10个类别,每个类别6000张,一共60000张图片,50000张用来训练,10000张用来测试这里可以查看各种方法在该数据集...原创 2019-07-01 15:14:21 · 2221 阅读 · 1 评论