zoukankan      html  css  js  c++  java
  • 一台计算机安装多个版本的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 
  • 相关阅读:
    Job流程:Shuffle详解
    学Python Django学得很迷茫,怎么办?-转自知乎
    URL补充
    创建多对多以及增加示例
    Day20-初识Ajax
    笔记-自己看Day20-待续
    Day20-单表中获取表单数据的3种方式
    Day19内容回顾
    一点疑惑的解释
    python os.path模块常用方法详解
  • 原文地址:https://www.cnblogs.com/gagaein/p/15399040.html
Copyright © 2011-2022 走看看