解決win10安裝cupy包報錯


解決win10使用GPU跑程序遇到的一系列報錯

    • 安裝cupy包
    • 使用cupy包的時候報錯 ImportError: DLL load failed: 找不到指定的模塊。
    • 卸載cuda11.5、安裝cuda10.2
    • 安裝適配於cuda10.2的cudnn
    • 報錯CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.
    • 報錯 module 'cupy' has no attribute 'scatter_add'
    • Anaconda配cupy環境報錯
    • 報錯 ModuleNotFoundError: No module named 'PIL'
    • 報錯 cupy.cuda.compiler.CompileException: nvrtc: error: failed to open nvrtc-buil

 

安裝cupy包

用GPU跑程序用了cupy包。

pip install cupy-cuda102 

使用cupy包的時候報錯 ImportError: DLL load failed: 找不到指定的模塊。

在這里插入圖片描述

這是因為我的cuda是11.5的,為了用用cupy,嘗試了以下幾種方法,均不行。
1.下載cupy的cuda115版本。
2.卸載cupy的cuda115版本,下載cupy的cuda102版本,但是此時cuda還是11.5版本。
3.下載cuda10.2版本,此時電腦的cuda10.2和11.5共存,如下圖所示。
在這里插入圖片描述

最后發現,能成功的只有一個,那就是cuda10.2+cupy的cuda102。此時電腦只能有一個cuda版本,也就是10.2,所以需要卸載cuda11.5。

這里面有個坑也踩了。如下圖所示,下載cuda10.2之前,必須要卸載完11.5!
在這里插入圖片描述
不然就會出現這種情況:
在這里插入圖片描述

卸載cuda11.5、安裝cuda10.2

打開控制面板,卸載所有cuda11.5的文件,如下圖所示
在這里插入圖片描述
cuda10.2官網網址:https://developer.nvidia.com/cuda-10.2-download-archive

卸載完11.5,再下載10.2時候,竟然還會出現下面的警告:
這個時候,可以無視,因為的確是先卸載完11.5后下載的10.2。

在這里插入圖片描述
然后在命令行輸入:出現如下狀態,表示安裝成功。

nvcc -V 

在這里插入圖片描述
此時觀察NVIDA的控制面板,竟然還是11.5,不過可以無視,因為這不影響跑程序。
在這里插入圖片描述

安裝適配於cuda10.2的cudnn

官網:https://developer.nvidia.com/rdp/cudnn-archive
安裝包下載完解壓
在這里插入圖片描述
把所有解壓的文件放到:NVIDA GPU Computing Toolkit 里面的V10.2下面
在這里插入圖片描述

報錯CUDA path could not be detected. Set CUDA_PATH environment variable if CuPy fails to load.

在這里插入圖片描述
根據報錯的這個路徑,打開這個environment文件。
在這里插入圖片描述
里面的cuda_path改成cuda的路徑。

這個路徑在哪,其實就在環境變量配置里面。

在這里插入圖片描述
把這個路徑放到environment文件里,如下圖所示。報錯就解決了。
在這里插入圖片描述

報錯 module ‘cupy’ has no attribute ‘scatter_add’

把cuda降到10.2之后,改了一大堆,程序終於能運行了,可是運行一會就報這個錯。

查了半天,在stackoverflow上面找到了方法,使用下面這句話把cupy版本降低。

pip install "cupy-cuda102<8.0.0" 

在這里插入圖片描述
在這里插入圖片描述
然后程序終於用GPU跑起來了。
在這里插入圖片描述

Anaconda配cupy環境報錯

一開始是全部在Anaconda里面配的環境,最后發現無論怎么弄,使用cupy包總報錯。
於是直接用pip了,最后把所有需要的包又在電腦的python文件夾里裝了一份。然后pycharm環境直接用了python的環境。最后能跑成。
在這里插入圖片描述

報錯 ModuleNotFoundError: No module named ‘PIL’

問題在於Pillow庫太老了。執行以下兩個命令。

pip uninstall pillow
pip install pillow

報錯 cupy.cuda.compiler.CompileException: nvrtc: error: failed to open nvrtc-buil

還出現類似:找不到nvrtc64_101_0.dll的問題

這個問題是遇到最玄學的一次。

解決辦法就是,重啟一下電腦。

重啟電腦后,就不報錯了,轉而報module ‘cupy’ has no attribute 'scatter_add’這個錯,這個錯就按照上面講的解決就完事。

最后GPU成功跑起來了。區別可以看到,用cpu跑程序的話,cpu占用量在80%以上,用GPU跑程序,cpu占用量只有16%

在這里插入圖片描述


免責聲明!

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



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