环境配置
1. 概述
如果平台提供的镜像没有满足您的要求,可以尝试参考下述步骤制作。
2. 创建 python 环境
镜像中预安装了 anaconda ,可以使用 anaconda 创建需要的 python 环境,例如 python 3.10 。创建步骤:
Step 1:构建一个虚拟环境名为:my_env,Python 版本为 3.10
conda create --name my_env python=3.10
Step 2: 激活环境
source activate my_env
Step 3: 验证
python --version
3. pip 配置源
pip 国内常用的源
北外源:https://mirrors.bfsu.edu.cn/help/pypi/web/simple (opens in a new tab)
临时使用
使用 pip 的时候在后面加上 -i 参数,指定 pip 源。例如:
pip install numpy -i https://mirrors.bfsu.edu.cn/help/pypi/web/simple
命令行配置
升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
python -m pip install --upgrade pip
pip config set global.index-url https://mirrors.bfsu.edu.cn/pypi/web/simple
pip config set global.trusted-host mirrors.bfsu.edu.cn
如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:
python -m pip install -i https://mirrors.bfsu.edu.cn/pypi/web/simple --upgrade pip
查看 pip 源配置
pip config list
配置文件配置
修改 ~/.config/pip/pip.conf 配置文件,以清华源为例,写入如下内容:
[global]
index-url = https://mirrors.bfsu.edu.cn/pypi/web/simple
trusted-host = mirrors.bfsu.edu.cn
4. 安装模块
4.1. Pytorch
pytorch 安装建议参考Previous PyTorch Versions|PyTorch (opens in a new tab),例如安装 torch 2.0.1+cu118 环境, 可以使用 conda 或 pip 安装,推荐使用 pip 安装。
使用 conda 安装 pytorch 会安装对应 cuda,但是如果 cuda 已经在系统里,就不需要重复安装。(cuda 的安装方法参考下面章节)。
注意 GPU 架构对 cuda 版本有要求,比如 RTX 3090 系列的 Ampere 架构需要使用 cuda 11.1 以上的版本,4090 系列的需要使用 cuda 11.8 以上。(其他类型的GPU查看下面的附录)
# CUDA 11.8
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.8 -c pytorch -c nvidia
# CUDA 11.8
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
验证安装的 pytorch 是否可用,简单使用 torch.cuda.is_available() 函数验证,输出为 True 表示可用,例如:
$ python
>>> import torch
>>> torch.cuda.is_available()
True
4.2. Tensorflow
tensorflow 安装建议参考Install TensorFlow with pip (opens in a new tab),通常使用 pip 安装。注意安装的 tensorflow 版本与 python 版本、CUDA、cuDNN 版本的对应关系。
注意 GPU 架构对 cuda 版本有要求,比如 RTX 3090 系列的 Ampere 架构需要使用 cuda 11.1 以上的版本。(其他类型的GPU查看下面的附录)
pip install tensorflow[and-cuda]
例如:
pip install tensorflow==2.6.0
或者
pip install tensorflow[and-cuda]==2.14.0 (该方式只适用在新版本,该方式会安装 cuda、cudnn 等依赖)
# 验证安装
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
GPU 版本的 tensorflow 与 python、cuDNN、CUDA 对应关系。参考Build from source | TensorFlow (opens in a new tab)。
4.3. NumPy
NumPy 计算加速依赖于线性代数库 - 通常是 Intel MKL 或 OpenBLAS 。一般来说 AMD CPU 使用 OpenBlas 在部分矩阵计算上更快;反之在 Intel 的 CPU 上使用 MKL 在部分矩阵计算上会更快。
在 conda 默认通道中,NumPy 是针对 Intel MKL 构建的。
在 conda-forge 通道中,NumPy 是针对 BLAS 包构建的。
通常 pip 安装的是使用 OpenBLAS 构建的 NumPy 。
安装 Intel MKL 构建的 NumPy
conda install numpy -c conda
如下图安装可以看到 MKL 的依赖
安装 OpenBLAS 构建的 NumPy 可以使用 conda 或 pip 安装,例如:
conda install numpy -c conda-force
或者
pip install numpy
使用 conda 安装可以看到 BLAS 的依赖
验证安装的 NumPy 使用的版本
python -c "import numpy as np; print(np.__config__.show())"
OpenBLAS 版本
Intel MKL 版本
5. 安装 cuda 和 cudnn
cuda 和 cudnn 的安装是通过 nvidia 官网下载安装,步骤比较复杂,不推荐使用。如果您有需要,可以联系客服人员制作镜像。
5.1. 安装 cuda
Step 1:下载 cuda
访问CUDA Toolkit 12.4 Update 1 Downloads | NVIDIA Developer (opens in a new tab) 在页面找到需要安装的 cuda 版本。如果是历史版本,点击页面的CUDA Toolkit 11.8 Downloads | NVIDIA Developer (opens in a new tab)。
例如下载 cuda 11.8.0 。在 CUDA Toolkit Archive | NVIDIA Developer (opens in a new tab) 页面找到 CUDA Toolkit 11.8 Downloads | NVIDIA Developer (opens in a new tab) 点击进入,并选择自身机器配置选择下载 runfile。
Step 2:安装 cuda
下载完成之后,添加执行权限,并执行命令安装。命令采用的是静态安装方式,安装 cudatoolkit 和 samples。
# 如果镜像中存在已经安装的cuda,可以删除镜像中的 cuda 软连接
sudo rm /usr/local/cuda
# 执行安装
chmod +x cuda_11.8.0_520.61.05_linux.run
sudo ./cuda_11.8.0_520.61.05_linux.run --silent --toolkit --samples
Step 3:验证
$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
在安装 cuda 时候出入 libxml2.so.2: cannot open shared object file 报错,可以尝试安装 libxml2 来解决。
sudo apt-get update
sudo apt-get install libxml2
5.2. 安装 cudnn
Step 1:下载 cudnn
访问cuDNN Archive | NVIDIA Developer (opens in a new tab) 官网 在页面找到需要安装的 cudnn 版本。例如下载 cudnn 8.7.0 版本,选择对应的操作系统 Tar 包下载
Step 2:安装 cudnn
# 解压
tar -xvf cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz
# 拷贝
cd [cudnn的解压目录]
sudo cp -rfp include/* /usr/local/cuda/include/
sudo cp -rfp lib/* /usr/local/cuda/lib64/
6. 附录
GPU 架构信息
GPU | arch | CUDA gencode | 支持的CUDA版本 |
---|---|---|---|
RTX3090 | Ampere | sm_86、compute_86 | >=11.1 |
RTX4090 | Ada Lovelace | sm_89、compute_89 | >=11.8 |