一台計算機安裝多個版本的torch和CUDA的教程


本文參考了:https://blog.csdn.net/xiqi4145/article/details/110254093

 

 

眾所周知,torch的環境配置是誘發人類高血壓的重要病因。

本文作者作為一名自身病友,久病成(庸)醫。發布此文來解決在一台計算機(的多個虛擬環境)上安裝多個版本的pytorch的病痛。

需要說明的是:

1 不同的torch需要不同的cuda版本。

2 一台計算機上可以安裝多個版本的cuda,並可以通過PATH指定使用哪一個(后文細說)

 


安裝步驟如下:
1 打開 https://pytorch.org/get-started/previous-versions/  尋找你想要的torch版本。

比如使用torch==1.2.0,可以找到:

v1.2.0

Conda

OSX
# conda
conda install pytorch==1.2.0 torchvision==0.4.0 -c pytorch
Linux and Windows
# CUDA 9.2
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch

# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

# CPU Only
conda install pytorch==1.2.0 torchvision==0.4.0 cpuonly -c pytorch

Wheel

OSX
pip install torch==1.2.0 torchvision==0.4.0
Linux and Windows
# CUDA 10.0
pip install torch==1.2.0 torchvision==0.4.0

# CUDA 9.2
pip install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html

# CPU only
pip install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

可以使用pip下載。

我更常用的是用conda下載。但是如果用的channel是torch,經常會出現anaconda提示包找不到的情況。

這里的cudatoolkit的版本需要和本地的nvcc -V的版本(也就是cuda的版本)一致(第4步闡述如何調節nvcc -V的版本),否則訓練時候會報錯

 

2. 如果使用conda下載的話,需要更換國內的channel,輸入以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/

3. 輸入conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 (去掉-c pytorch)。就可以安裝cudatoolkit和torch了。這樣下載的速度也很快。

 

4.配置nvcc -V的版本(也就是cuda的版本)

首先需要下載torch需要版本的cuda。具體方法可以百度。

接着講述如何調節使用不同版本的cuda。

方法一:

在窗口中輸入想要的版本的cuda的安裝的路徑:

export CUDA_HOME=/mnt/lustre/share/cuda-9.2/
export PATH=$PATH:/mnt/lustre/share/cuda-9.2/bin/ 

export CUDA_HOME=/mnt/lustre/share/cuda-9.2/lib64

 

僅限於對此窗口有效,窗口關閉后就失效。而且這樣僅僅會添加PATH,不會修改原來有的PATH。因此在我機器上這個方法依然不能改變nvcc -V的版本。

方法二:

改變~/.bashrc

將原來的CUDA_HOME和PATH改為:

export CUDA_HOME=/mnt/lustre/share/cuda-9.2/
export PATH=$PATH:/mnt/lustre/share/cuda-9.2/bin/

export CUDA_HOME=/mnt/lustre/share/cuda-9.2/lib64

  

然后source ~/.bashrc。

然后重新登錄,重新開一個tmux session。

想要查看修改之后的CUDA_HOME和PATH,可以使用export命令即可。還可以用nvcc -V查看cuda版本。

注意:如果使用tmux,建議新開一個session。要不然可能也會出現PATH沒有刪除僅僅增加的情況。

 

另外據引用的網頁所說,torch.version.cuda輸出的 cuda 的版本並不一定是 Pytorch 在實際系統上運行時使用的 cuda 版本,而是編譯該 Pytorch release 版本時使用的 cuda 版本

想要查看 Pytorch 實際使用的運行時的 cuda 目錄,可以直接輸出之前介紹的 cpp_extension.py 中的 CUDA_HOME 變量。

import torch
import torch.utils
import torch.utils.cpp_extension
torch.utils.cpp_extension.CUDA_HOME        #輸出 Pytorch 運行時使用的 cuda 

 


免責聲明!

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



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