pytorch问题记录(1)
问题一
RuntimeError: cuda runtime error (59) : device-side assert triggered at /home/loop/pytorch-master/torch/lib/THC/generic/THCTensorMath.cu:15
参考文章 https://blog.csdn.net/u011276025/article/details/73826562
通过输出label的值发现,error出现的地方label中均有最大值。
所以可以判断为pytorch所设计的分类器的分类label为[0,max-1],而true ground的标签值为[1,max]
所以可以通过修改label = (label-1).to(opt.device)
问题二
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 1 and 3 in dimension 1 at /pytorch/aten/src/TH/generic/THTensorMath.cpp:3616
这种情况一般是由于图片并不是三通道造成的,可能是BW图像,也可能是PNG图像图像,所以就可以将图像调整为RGB格式既可。(不过还是要查一下哪张图片在作祟比较好…)
class MyDataset(Dataset):
def __init__(self, image_paths, transforms=transforms):
self.image_paths = image_paths
self.transforms = transforms
def __getitem__(self, index):
image = Image.open(self.image_paths[index])
image = image.convert('RGB')
if self.transforms:
image = self.transforms(image)
return image
问题三
optim.lr_scheduler.ReduceLROnPlateau gives error value cannot be converted to type float without overflow: inf
这个问题是在scheduler对loss进行GPU上优化的错误,问题可能会有converted to type float, int and etc.
所以将loss转到cpu上进行优化即可。
# after each epoch
# Note that step should be called after validate()
self.scheduler.step(loss.cpu().data.numpy())
问题四:
RuntimeError: Error(s) in loading state_dict for Missing key(s) in
state_dict: “fc.weight”, “fc.bias”.
像这种出现丢失key missing key
If you have partial state_dict, which is missing some keys you can do the following:
state = model.state_dict()
state.update(partial)
model.load_state_dict(state)
还有一种多出的key
RuntimeError: Error(s) in loading state_dict for Missing key(s) in
Unexpected key(s) in state_dict: “classifier.0.weight”,
解决办法
# original saved file with DataParallel
state_dict = torch.load('myfile.pth.tar')
# create new OrderedDict that does not contain `module.`
from collections import OrderedDict
new_state_dict = OrderedDict()
for k, v in state_dict.items():
name = k[7:] # remove `module.`
new_state_dict[name] = v
# load params
model.load_state_dict(new_state_dict)
有问题请向我提问
上一篇: 详解spring中使用Elasticsearch的实例教程
下一篇: Typora学习笔记
推荐阅读
-
vue踩坑记录之数组定义和赋值问题
-
MVC5项目转.Net Core 2.2学习与填坑记录(1)
-
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
-
Android--解决图片保存到相册显示1970年1月1日 8:00的问题
-
微软发布Win10 20H1/20H2更新:修复大量问题
-
针对windows系统如何解决openssl_pkey_export(): cannot get key from parameter 1这个问题
-
Pytorch中使用tensorboard可视化不显示的问题
-
记录一下使用sea.js时遇到的几个小问题
-
健身错误TOP1 健美姿势问题
-
微软发布Windows 10 20H1/20H2更新:修复无响应等问题