pytorch
想当厨子的半吊子程序员
这个作者很懒,什么都没留下…
展开
-
ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 256,
pytorch在对以经训练好的网络进行测试时发现以上问题,在装载网络后添加model.eval(),问题得到解决。model = nn.DataParallel(model).cpu()model.load_state_dict(torch.load(path, map_location=torch.device('cpu')), False)model.eval()此代码段有三个需要注意的地方 nn.DataParallel(model)如果在训练网络时加入了这个函数,在使用训练好原创 2021-03-04 21:39:18 · 578 阅读 · 1 评论 -
pytorch学习之合并与拆分Cat、stack、split、chunk
1、cat函数a = torch.rand(4,32,8)b = torch.rand(5,32,8)print(torch.cat([a,b],dim=0).shape) # torch.Size([9, 32, 8])cat函数的第一个参数为需要合并的两个张量,第二个参数dim表示哪一维需要合并,如上式表示第0维需要合并,注:除了需合并的维数上的数目可以不同,其他维数需相同2、stack函数a = torch.rand(32,8)b = torch.ran原创 2020-10-25 11:31:24 · 932 阅读 · 0 评论 -
pytorch学习之维度变化
1、view函数:a = torch.rand(4,1,28,28)b = a.view(4,28*28) print(b.shape) #result:torch.Size([4, 784])首先产生一个维数为4*1*28*28的张量a,通过view函数对a张量进行操作,将a张量变为一个4*[28*28]的张量,改变之后的张量结果为上式,需注意,改变前后的元素个数不变,即4*1*28*28需等于4*[28*28],例如可以对1*28*28的照片进行处理,原创 2020-10-23 17:24:33 · 857 阅读 · 0 评论 -
pytorch学习笔记之tensor的创建与切片
直接粘贴代码,其中创建tensor的创建方法不全,有需要的查找,每一行为一个创建方法,每行的第二个#号之后print函数内的操作为对tensor的操作,之后为输出结果,最后为操作的粗略解释import torch# a = torch.randn(3,4) #创建一个3*4的张量,其中元素为随机的正太数# a = torch.full([2,2],2) #生成2*2,元素值都为2的张量# b = torch.Tensor(2,2)# a = torch.arange(0,10,原创 2020-10-21 21:58:21 · 643 阅读 · 0 评论 -
Pytorch学习笔记之通过numpy实现线性拟合
通过使用numpy库编写简单的Gradient Descent数据位于附件之中import torchfrom torch import autogradimport numpy as npimport matplotlib.pyplot as plt'''torch关于求导的简单运用'''# x = torch.tensor(1.)# a = torch.tensor(1.,requires_grad=True)# b = torch.tensor(2.,requires_grad=T原创 2020-10-21 10:27:26 · 658 阅读 · 0 评论