在服务器上创建可使用GPU的pytorch和Tensorflow环境

准备工作

注:本教程默认你使用的服务器上已经安装好了cuda和anaconda,若没有安装请联系服务器管理员安装,或是按照https://developer.nvidia.com/cuda-downloads官网的提示自行安装。

  • 确认服务器上可用的GPU及以安装好的cuda版本
nvidia-smi

怎么在服务器上装pytorch 服务器配置pytorch_版本号

nvcc-V

怎么在服务器上装pytorch 服务器配置pytorch_服务器_02

二者版本不一致的情况下请参看

  • 查看当前用户的环境变量
env

怎么在服务器上装pytorch 服务器配置pytorch_服务器_03

HOME是当前用户创建新的conda环境默认的位置,LD_LIBRARY_PATH是cuda的路径。由于服务器上home文件夹的空间一般都比较小,在创建环境时可以在别的位置创建。具体见下文。

创建新的conda环境

  • 如果需要改变创建conda环境默认的位置,可以如下图修改配置文件。
vim ~/.condarc

怎么在服务器上装pytorch 服务器配置pytorch_版本号_04

创建好的环境会在/your_path/conda/环境名称下,缓存的包会在conda_pkgs下。

  • 用下面的命令创建并切换到新创建的环境
conda create -n 环境名称
source activate 环境名称

怎么在服务器上装pytorch 服务器配置pytorch_版本号_05

  • 添加conda国内镜像源
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/
# 中科大镜像源,你也可以查询添加更多的源
# conda config --remove-key channels 该命令可以删除所有用户添加的源
  • 查询当前conda环境下所有已安装的包
conda list

安装TensorFlow-GPU

  • 首先根据服务器上cuda的版本和自身需要,查询TensorFlow和cudatookit的对应关系,见https://www.tensorflow.org/install/source#linux
  • 使用conda或pip安装tensorflow-gpu和cudatoolkit
  • conda安装,使用如下的命令
conda install tensorflow='版本号'
#若需要安装TensorFlow1,使用 conda install tensorflow_gpu='版本号'
conda install cudatoolkit='版本号'
  • pip安装
    先说一下pip安装和conda安装的关系。经过我的测试,pip安装的包除了可以使用
pip list

查看外,使用

conda list

也可以查看到,反之则不行。conda安装包的目录是在上文所说的目录下,而pip安装的目录则有所不同。若当前conda环境中有pip时,则会安装到当前conda环境中python的site-package中,若当前conda 环境中没有pip,则会使用服务器python目录下的pip安装到服务器python环境中。为了隔离不同的环境,在使用pip安装包前,需要先查看当前conda环境中有无pip,没有则先安装pip。使用命令

which pip

查看当前使用的是哪个pip。

确定好pip安装的位置后,使用如下的命令安装TensorFlow

pip install tensorflow=='版本号'
# pip好像是装不了cudatoolkit,需要用conda安装

安装pytorch

  • pytorch的安装比较方便,直接在官网就可以查询到对应的命令。https://pytorch.org/get-started/locally/

我踩过的坑

  • cudatoolkit的版本不一定要跟cuda一致,但应该要低于cuda 的版本。安装时一定要选择对应的cudatoolkit安装。
  • 在conda安装包时,经常会出现找不到包的问题。除了使用命令conda search 包名来找之外,终极方法是离线安装。在官网https://anaconda.org/可以查询到提供的所有包,例如找cudatoolkit11.3:

怎么在服务器上装pytorch 服务器配置pytorch_pytorch_06


选择合适的版本下载并上传到服务器,在目录下

conda install 下载的包名

即可安装。