windows下 為不同虛擬環境配置不同的cuda


很多時候,當從git上拿來一個項目,有需要基於的環境,比如基於:python3.7 cuda10.0。而本地環境python=3.6 cuda=0.8。而計算機同時需要支持多個版本的訓練任務。下面給出一種解法。
先看一下效果:(base[py3.6]環境基於cuda8.0,open-mmlab[py3.7]基於cuda10.0)

這里的系統環境變量已經將cuda設置為8.0相關的內容。

 

1 環境安裝
安裝cuda8.0和cuda10.0到計算機,這里不再詳述。

2 虛擬環境創建
2.1 打開Anaconda Prompt創建第二個虛擬環境

conda create -n open-mmlab python=3.7 -y
2.2將Prompt窗口定位到虛擬環境主目錄下(參考這里)

執行以下命令:

mkdir .\etc\conda\activate.d
mkdir .\etc\conda\deactivate.d

得到下圖的文件夾

在activate.d中創建env_vars.bat,內容為:

@set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
@set CUDA_NVVP=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp
@set CUDA_lib=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64
@set OLD_PATH=%PATH%
@set PATH=%CUDA_PATH%;%CUDA_NVVP%;%CUDA_lib%;%PATH%;
就將cuda10.0對應的庫添加到了臨時系統環境變量中。
在deactivate.d中創建同名文件env_vars.bat,內容為:

@set PATH=%OLD_PATH%
將環境變量重置為原始的內容。

下面開始測試
base環境下

激活虛擬環境

這樣就能在不同虛擬環境下使用不同的cuda進行訓練和測試任務。

 

cuda版本切換的坑

搭建tensorflowgpu-1.5和pytorch-gpu=1.5虛擬環境,並根據相應環境安裝不同版本的CUDA和cudnn,安裝完成后針對不同虛擬環境切換不同的cuda版本,網上說修改相應環境變量就可以了利用nvcc –V查詢切換成功,但pytorch-gpu的cuda不可用,tensorflow-gpu顯示gpu被占用,發現本質上並沒有改變顯卡驅動對應的cuda版本,nvidia-smi查詢當前顯卡狀態發現cuda版本沒變。

 

https://blog.csdn.net/flying_ant2018/article/details/105054453

https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#saving-environment-variables


免責聲明!

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



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