AIACC-Training(AIACC训练加速)支持优化基于AI主流计算框架(包括TensorFlow、PyTorch、MxNet和Caffe)搭建的模型,能显著提升训练性能。本文介绍如何自动安装AIACC-Training(AIACC训练加速)并测试demo。
背景信息
Conda是一款开源跨平台的软件包和环境管理系统,Miniconda是一款小巧的Conda环境部署工具。创建GPU实例时支持自动安装包含AIACC-Training(AIACC训练加速)的Conda环境,您可以使用Miniconda快速选择不同的Conda环境,一键安装和切换深度学习框架,并通过AIACC-Training(AIACC训练加速)显著提升训练性能。
自动安装AIACC-Training(AIACC训练加速)
AIACC-Training(AIACC训练加速)依赖GPU驱动、CUDA和cuDNN,请在创建GPU实例时配置自动安装GPU驱动,然后选中
AIACC训练加速。具体操作,请参见
创建配备NVIDIA GPU的实例。
Conda环境包括AIACC-Training及OpenMPI等依赖包,但不包括深度学习框架。安装深度学习框架的具体操作,请参见选择Conda环境并安装深度学习框架。
CUDA版本决定支持安装的深度学习框架版本,对应关系如下表所示。
CUDA版本 |
默认进入的Conda环境 |
支持安装的深度学习框架版本 |
CUDA 11.0 |
aiacct_tr1.7.0_cu11.0_py36 |
TensorFlow 2.4 |
CUDA 10.1 |
aiacct_tf2.1_cu10.1_py36 |
TensorFlow 2.1 |
CUDA 10.0 |
aiacct_tf1.15_tr1.4.0_mx1.5.0_cu10.0_py36 |
- TensorFlow 1.15 + Pytorch 1.4.0 + MXNet 1.5.0
- TensorFlow 1.14 + Pytorch 1.3.0 + MXNet 1.4.0
|
CUDA 9.0 |
aiacct_tf1.12_tr1.3.0_mx1.5.0_cu9.0_py36 |
TensorFlow 1.12 + Pytorch 1.3.0 + MXNet 1.5.0 |
选择Conda环境并安装深度学习框架
- 远程连接实例。
- 选择Conda环境。
- 初始化Miniconda。
. /root/miniconda/etc/profile.d/conda.sh
- 查看已有的Conda环境列表。
conda env list
示例如下图所示。
- 选择Conda环境。
conda activate [environments_name]
示例如下图所示。
其中,aiacct_tf2.1_cu10.1_py36代表:
- TensorFlow 2.1
- CUDA 10.1
- Python 3.6
- 安装深度学习框架。
install_frameworks.sh
install_frameworks.sh脚本中包括了在安装适用当前Conda环境的深度学习框架的命令,脚本内容示例如下图所示。
执行脚本后安装过程示例如下图所示。
- 测试demo。
demo文件ali-perseus-demos.tgz默认位于/root下,本文以测试TensorFlow的demo为例。
- 如果TensorFlow版本为2.1:
- 解压demo测试包。
tar -xvf ali-perseus-demos.tgz
- 进入TensorFlow的demo目录。
cd ali-perseus-demos/tensorflow2-examples
- 执行目录下的测试脚本。
示例命令如下:
python tensorflow2_keras_mnist_perseus.py
该demo使用MNIST数据集进行训练,在提升训练性能的同时,保证和您的基准代码达到相同的精度。训练结果示例如下图所示。
- 如果TensorFlow版本为1.14:
- 解压demo测试包。
tar -xvf ali-perseus-demos.tgz
- 进入TensorFlow的demo目录。
cd ali-perseus-demos/tensorflow-benchmarks
- 查看README.txt中的测试命令。
- 进入对应版本的测试脚本目录。
示例命令如下:
cd benchmarks-tf1.14
- 根据实例规格的GPU数量修改并执行测试命令。
示例命令如下:
mpirun --allow-run-as-root --bind-to none -np 1 -npernode 1 \
--mca btl_tcp_if_include eth0 \
--mca orte_keep_fqdn_hostnames t \
-x NCCL_SOCKET_IFNAME=eth0 \
-x LD_LIBRARY_PATH \
./config-fp16-tf.sh
该demo使用合成数据进行训练,测试训练速度。训练结果示例如下图所示。
删除Miniconda
如果您不需要使用AIACC-Training(AIACC训练加速),可以删除Miniconda。默认为root用户安装Miniconda,为root用户删除Miniconda即可。
- 删除miniconda文件夹。
- 删除相关环境变量和回显。
- 修改文件/root/.bashrc,注释Miniconda、AIACC-Training相关的环境变量和回显。
示例如下图所示。
- 使环境变量修改生效。