pytorch
小镇大爱
这个作者很懒,什么都没留下…
展开
-
使用nn.Module来管理子模块
一般情况下,我们都很少直接使用 nn.Parameter来定义参数构建模型,而是通过一些拼装一些常用的模型层来构造模型。这些模型层也是继承自nn.Module的对象,本身也包括参数,属于我们要定义的模块的子模块。nn.Module提供了一些方法可以管理这些子模块。 children() 方法: 返回生成器,包括模块下的所有子模块。 named_children()方法:返回一个生成器,包括模块下的所有子模块,以及它们的名字。 modules()方法:返回一个生成器,包...原创 2020-08-29 00:03:06 · 589 阅读 · 0 评论 -
PyTorch模型保存加载
PyTorch保存模型的语句是这样的:#将模型参数保存到path路径下torch.save(model.state_dict(), path)加载是这样的:model.load_state_dict(torch.load(path))下面我们将其拆开逐句介绍1.torch.save()和torch.load()save函数是PyTorch的存储函数,load函数则是...转载 2020-05-08 00:39:45 · 847 阅读 · 0 评论 -
累积梯度
pytorch会在每一次backward()后进行梯度计算,但是梯度不会自动归零,如果不进行手动归零的话,梯度会不断累加1.1 传统的训练一个 batch 的流程如下:for i, (images, target) in enumerate(train_loader): # 1. input output images = images.cuda(non_blocking...转载 2020-05-05 11:44:08 · 2338 阅读 · 8 评论 -
运行程序时报错 module 'scipy' has no attribute 'spatical'
输入下面代码,报错:AttributeError: module 'scipy' has no attribute 'spatialimport scipyscipy.spatial我的解决方法是import scipy.spatial as T然后用T来调用就好了!!!!!!!!...原创 2020-02-29 00:15:10 · 3055 阅读 · 1 评论 -
Pytorch-拼接与拆分
拼接与拆分cat stack split chunkcatnumpy中使用concat,在pytorch中使用更加简写的 cat 完成一个拼接 两个向量维度相同,想要拼接的维度上的值可以不同,但是其它维度上的值必须相同。举个例子:还是按照前面的,想将这两组班级的成绩合并起来a[class 1-4, students, scores]b[class 5-9,...原创 2020-01-29 17:04:48 · 1214 阅读 · 0 评论 -
Pytorch-索引与切片
索引In[3]: a = torch.rand(4,3,28,28)In[4]: a[0].shape # 理解上相当于取第一张图片Out[4]: torch.Size([3, 28, 28])In[5]: a[0,0].shape # 第0张图片的第0个通道Out[5]: torch.Size([28, 28])In[6]: a[0,0,2,4] # 第...原创 2020-01-28 17:02:18 · 213 阅读 · 0 评论 -
pytorch使用概括
深度学习框架训练模型时的代码主要包含数据读取、网络构建和其它设置三个方面 。1、数据读取具体步骤主要包含:1. 定义torch.utils.data.Dataset数据接口 2. 使用torch.utils.data.DataLoader将数据接口封装成数据迭代器。数据读取部分包含如何将你的数据转换成PyTorch框架的Tensor数据类型。当使用PyTorch构建好网络模型之后...原创 2019-12-20 00:10:15 · 141 阅读 · 0 评论 -
Pytorch中nn.ModuleList和nn.Sequential的用法和区别
nn.ModuleList的用法import torchimport torch.nn as nnclass testNet(nn.Module): def __init__(self): super(testNet, self).__init__() self.combine = nn.ModuleList() self.co...原创 2019-12-15 19:43:12 · 279 阅读 · 0 评论