容器云使用指南
最佳实践
配置环境
配置环境

环境配置

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 架构信息

GPUarchCUDA gencode支持的CUDA版本
RTX3090Amperesm_86、compute_86>=11.1
RTX4090Ada Lovelacesm_89、compute_89>=11.8