解决方案:炼丹师养成计划 Pytorch+DeepLearning遇见的各种报错与踩坑避坑记录(一)
文章目錄
- 問題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’
問題原因:該報(bào)錯(cuò)原因提示為load函數(shù)缺少必填的Loader參數(shù)
解決方案1:使用safe_load()函數(shù)代替 load()
import yamlwith open(filename, 'r') as f:yaml_cfg = edict(yaml.safe_load(f))解決方案2:添加參數(shù) Loader=yaml.FullLoader
import yamlwith open(filename, 'r') as f:yaml_cfg = edict(yaml.load(f,Loader=yaml.FullLoader))解決方案3:降級(jí)pyyaml 版本(親測(cè)有效)
pip install pyyaml==5.4.1
問題2:ModuleNotFoundError: No module named ‘dateutil’
問題原因:pip install dateutil失敗,因?yàn)樵撃K非???/strong>,他叫 python-dateutil
解決方案: pip3 install python-dateuti
問題3:RuntimeError: Expected object of backend CPU but got backend CUDA for argument #4 ‘mat1’
問題原因:期望的對(duì)象是在后端CPU,但參數(shù)在后端CUDA上面,直白來說,就是模型沒有放到cuda上面,但是模型需要的參數(shù)或者模型的部分模塊被放到了cuda上面。
解決方案:將模型也放到cuda上
# 進(jìn)行可用設(shè)備檢測(cè), 有GPU的話將優(yōu)先使用GPUdevice = 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)
問題原因:期望有三個(gè)返回值,但其實(shí)函數(shù)只有兩個(gè)返回值
解決方案:定位到錯(cuò)誤,檢查函數(shù)和接收函數(shù)返回值的參數(shù)個(gè)數(shù)
問題5:Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
問題原因:輸入的數(shù)據(jù)類型為torch.cuda.FloatTensor,說明輸入數(shù)據(jù)在GPU中
模型參數(shù)的數(shù)據(jù)類型為torch.FloatTensor,說明模型還在CPU
解決方案:將對(duì)應(yīng)的模型參數(shù)放入cuda
如:
出錯(cuò),說明img[i]在gpu上面,而我們的proj還在cpu上,所以要把proj放到cuda上面去:
proj = nn.Conv2d(3, 3, 3, 4, 0) proj = proj.cuda() imgs[i] = proj(imgs[i])總結(jié)
以上是生活随笔為你收集整理的解决方案:炼丹师养成计划 Pytorch+DeepLearning遇见的各种报错与踩坑避坑记录(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux第七章:6.管道 | 与 gr
- 下一篇: 01-2021年6月