0.前言
本文涉及以下問題,是在實現Yolo代碼時出現的:
- from torchvision import _C
Error: DLL load failed- import torchvision._C
Error: DLL load failed- Torch和Torchvision最佳對應版本
1. 錯誤描述
我的運行環境是
- Win10
- Python3.6.x
- Torch == 1.1.0
- Torchvision == 0.4.0
- Numpy == 1.17.4
在運行Yolo Pytorch版本時,總是在test階段跳出如下錯誤:
File “/lib/python3.6/site-packages/torchvision/ops/boxes.py”, line 2, in
from torchvision import _C
ImportError: DLL load failed: 找不到指定的模塊
2. 查詢到的解決辦法
2.1 重新安裝Torchvision
參考地址:
https://www.lizenghai.com/archives/28161.html
解決方法:
直接去Pytorch官網,選擇pip安裝方法,選擇好對應的Python版本和CUDA版本,直接執行Command。
出現問題:
Pytorch官網只給出了最新的安裝Command,我的CUDA10.0版本已經更新爲CUDA10.1,並且torch版本也對不上。
3. 我的解決思路
出現這個問題的原因是Torch和Torchvision版本不協調導致的!!!
我列出Torch和Torchvision最佳對應版本:
Torch | Torchvision |
---|---|
1.1.x | 0.3.0 |
1.2.x | 0.4.0 |
1.3.x | 0.5.0 |
1.4.x | 0.5.0 |
爲了更方便的找到對應版本的下載地址,我直接給出官方下載地址:
https://download.pytorch.org/whl/torch_stable.html
Torch和Torchvision版本分爲cpu和cuda兩個版本
格式名稱命名規律,以下面爲例:
cpu/torch-1.2.0%2Bcpu -cp36-cp36m -win_amd64 .whl
cpu/ (torch版本) -(Python版本) -(win64位) .whl
cu100 /torchvision-0.3.0 -cp36-cp36m -win_amd64 .whl
(CUDA10.0) / (Torchvision版本) - (Python版本) -(win64位) .whl
4. 輔助技巧
下載好以後,win下打開命令行窗口,輸入
pip install
輸入好以後,鼠標點中下載好的whl文件,直接拖到命令行窗口裏,回車即可完成安裝!!!
此外,不需要pip uninstall torch/torchvision,至少我沒有uninstall,在install另一個版本時會自動卸載已有torch和torchvision。