当前位置:网站首页>解决方案:炼丹师养成计划 Pytorch+DeepLearning遇见的各种报错与踩坑避坑记录(一)
解决方案:炼丹师养成计划 Pytorch+DeepLearning遇见的各种报错与踩坑避坑记录(一)
2022-07-26 22:46:00 【中杯可乐多加冰】
文章目录
- 问题1: load() missing 1 required positional argument: 'Loader'
- 问题2:ModuleNotFoundError: No module named 'dateutil'
- 问题3:RuntimeError: Expected object of backend CPU but got backend CUDA for argument #4 'mat1'
- 问题4:ValueError: not enough values to unpack (expected 3, got 2)
- 问题5:Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
问题1: load() missing 1 required positional argument: ‘Loader’
问题原因:该报错原因提示为load函数缺少必填的Loader参数
解决方案1:使用safe_load()函数代替 load()
import yaml
with open(filename, 'r') as f:
yaml_cfg = edict(yaml.safe_load(f))
解决方案2:添加参数 Loader=yaml.FullLoader
import yaml
with open(filename, 'r') as f:
yaml_cfg = edict(yaml.load(f,Loader=yaml.FullLoader))
解决方案3:降级pyyaml 版本(亲测有效)
pip install pyyaml==5.4.1
问题2:ModuleNotFoundError: No module named ‘dateutil’
问题原因:pip install dateutil失败,因为该模块非常坑,他叫 python-dateutil
解决方案: pip3 install python-dateuti
问题3:RuntimeError: Expected object of backend CPU but got backend CUDA for argument #4 ‘mat1’
问题原因:期望的对象是在后端CPU,但参数在后端CUDA上面,直白来说,就是模型没有放到cuda上面,但是模型需要的参数或者模型的部分模块被放到了cuda上面。
解决方案:将模型也放到cuda上
# 进行可用设备检测, 有GPU的话将优先使用GPU
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device) 或 model = model.cuda(device)
问题4:ValueError: not enough values to unpack (expected 3, got 2)
问题原因:期望有三个返回值,但其实函数只有两个返回值
解决方案:定位到错误,检查函数和接收函数返回值的参数个数
问题5:Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
问题原因:输入的数据类型为torch.cuda.FloatTensor,说明输入数据在GPU中
模型参数的数据类型为torch.FloatTensor,说明模型还在CPU
解决方案:将对应的模型参数放入cuda
如:
proj = nn.Conv2d(3, 3, 3, 4, 0)
imgs[i] = proj(imgs[i])
出错,说明img[i]在gpu上面,而我们的proj还在cpu上,所以要把proj放到cuda上面去:
proj = nn.Conv2d(3, 3, 3, 4, 0)
proj = proj.cuda()
imgs[i] = proj(imgs[i])
边栏推荐
- [cann training camp] enter media data processing 1
- 系统动力学专拓考试重点总结
- MySQL备份恢复
- Harmonyos image processing application development live broadcast notes
- 24ssh service
- 23nfs shared storage service
- [polymorphism] the detailed introduction of polymorphism is simple and easy to understand
- 2022年T2I文本生成图像 中文期刊论文速览-1(ECAGAN:基于通道注意力机制的文本生成图像方法+CAE-GAN:基于Transformer交叉注意力的文本生成图像技术)
- 22FTP
- 【CANN训练营】走进媒体数据处理1
猜你喜欢

System safety and Application

(hdu1588) Gauss Fibonacci (sum of matrix fast power + bisection matrix proportional sequence)

R分数复现 R-precision评估指标定量 文本生成图像R分数定量实验全流程复现(R-precision)定量评价实验踩坑避坑流程

LAMP.

MySQL multi table query
![[cann training camp] enter media data processing 1](/img/6c/76d3784203af18a7dee199c3a7fd24.png)
[cann training camp] enter media data processing 1

Transport layer --------- TCP (II)

Codeforce problem 908 D. new year and arbitrary arrangement (probability DP)

Expect interaction free

ceph(分布式存储)
随机推荐
count(*)为什么很慢
Notes during in-depth learning (to be improved)
Use of GDB
[reprint] GPU compute capability table
【CANN训练营】走进媒体数据处理1
Shell
机器学习概述
Small project - self connected campus network
21dns domain name resolution
Hands on experiment of network and VPC
使用ECS和OSS搭建个人网盘
RT-thread学习
[polymorphism] the detailed introduction of polymorphism is simple and easy to understand
小项目——开机自连校园网
深度学习过程中笔记(待完善)
Talking about server virtualization & hyper convergence & Storage
Application of load balancing
识别神器Mx-yolov3
MySQL view
--Project summary