MASKRCNN+3090顯卡


原來的配置是torch171+cu110,CUDA11.0,2080顯卡

換到3090顯卡,代碼不能跑,報錯:RuntimeError: CUDA error: no kernel image is available for execution on the ...

 

換到11.1的cuda

1. 重新安裝torch版本為180+cu111

2. 從nvidia官網https://developer.nvidia.com/cuda-11.1.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=runfilelocal下載11.1的CUDA。選runfile。進里面安裝流程時不要選擇安裝驅動。

3. sudo gedit ~/.bashrc 更新下面三項為

export CUDA_HOME=/usr/local/cuda-11.1/
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin

SAVE之后 source ~/.bashrc

4. 重新編譯apex,cd apex

pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

注意看每項編譯消息的提示:[9/11] /usr/local/cuda-11.1/bin/nvcc ,注意nvcc的路徑是在cuda-11.1而不是舊的11.0

5. 重新編譯maskrcnn,cd maskrcnn

python setup.py build develop

 

OK

推理速度,3090大概比3080快25%

最后上述環境和重新編譯后的apex和maskrcnn依然可以在2080上跑

 

 

++++++++++++++++++++++++++++++++++++++++++++++++++

以上均在推理環境測試過,但是到了訓練階段報錯:RuntimeError: radix_sort: failed on 1st step: cudaErrorInvalidDevice: invalid device ordinal

這個帖子說的很清楚:https://blog.csdn.net/qq_55068938/article/details/121270986

於是更換到torch版本為190+cu111版本的torch

由於cuda依然是111,所以不用重新編譯apex

重新編譯maskrcnn即可。這里有torch的版本高於1.8,會報ImportError: cannot import name 'container_abcs' from 'torch._six'

按照https://blog.csdn.net/dou3516/article/details/121283437 簡單修改即可。並且經過以上修改后,依然可以在2080顯卡上運行。

 

簡單說3090顯卡應配置torch為190以上版本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM