如何在服务器上离线配置CUDA环境
- 查看显卡驱动以及适配的最高CUDA版本
- 下载Miniconda对应的安装包
- 安装Anaconda or Miniconda
- 测试conda命令
- 为Miniconda写入清华镜像
- 为pip写入镜像并且设置延迟时间
- 离线创建虚拟环境+修改虚拟环境的python版本
- 激活环境
- 安装cudatoolkit cudnn和mkl
- 安装PyTorch or TensorFlow
- 测试GPU环境
查看显卡驱动以及适配的最高CUDA版本
使用nvidia-smi命令查看显卡和CUDA版。显卡驱动需要特别关注一下,旧版本的驱动和最近新版本的cuda是没有办法兼容的。图中的CUDA Version在安装的时候不需要理会。创建虚拟环境的时候,安装自己所需要的cudatookit和cudnn即可。
以下是来自nvidia官方的显卡驱动对应表。
下载Miniconda对应的安装包
网站中有Miniconda历史版本的安装包,目前来看比较推荐安装python3.7的版本,比较稳定,而且近期的安装包都广泛支持python3.7
https://repo.anaconda.com/miniconda/
安装Anaconda or Miniconda
在服务器上,安装Anaconda或者是Miniconda并没有什么本质的区别,Anaconda多出来的很多功能我们根本用不到,我们只是需要一个conda命令来管理服务器的python环境,下面以安装Miniconda为例。
bash Miniconda3-latest-Linux-x86_64.sh
一路回车+yes就可以了
测试conda命令
在终端输入conda list命令,发现报错:conda: command not found
原因是因为~/.bashrc文件没有配置好
vim ~/.bashrc
在文件最下面先加上
export PATH=$PATH:/home/name/miniconda3/bin --将地址换成自己的目录
最后激活修改的文件
source ~/.bashrc
再次测试即可成功
为Miniconda写入清华镜像
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 --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --set show_channel_urls yes
为pip写入镜像并且设置延迟时间
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.timeout 6000
由于conda在安装过程中时常会分析环境,个人认为pip的下载比conda来得更加便捷,因此推荐以pip命令为安装包的首选。
离线创建虚拟环境+修改虚拟环境的python版本
为了方便环境的管理,复制base环境,创建一个新的环境用于工程,例如创建一个名字为tf2的环境。
conda create -n tf2 --clone base
激活环境
conda activate tf2
source activate tf2 --总有一个方法是可以的
安装cudatoolkit cudnn和mkl
进入清华镜像源,下载对应版本的cudatoolkit cudnn和mkl(下载.conda后缀的即可),并且上传到miniconda目录的pkgs文件夹
进入pkgs文件夹
使用conda install命令,安装三个安装包
例如
conda install cudatoolkit-10.0.130-0.conda
conda install cudnn-7.6.0-cuda10.0_0.conda
conda install mkl-2020.2-256.conda
安装PyTorch or TensorFlow
将对应的安装包上传,然后依次按照上面的命令安装即可,比较复杂的就是各个库对应的依赖包下载起来会比较麻烦。
测试GPU环境
# for tensorflow
import tensorflow as tf
tf.test.is_gpu_available()
# for pytorch
import torch
torch.cuda.is_available()
只要显示True,就代表环境已经安装完成了