【Hello AI】如何安装AIACC-Training(AIACC训练加速)

简介: AIACC-Training支持基于主流人工智能(包括PyTorch、TensorFlow、MXNet、Caffe等)搭建的模型进行分布式训练。在接口层面上,目前AIACC-Training兼容了PyTorch DDP以及Horovod的API,对于原生使用上述分布式训练方法的训练代码,可以做到无感的性能加速。本文将为您介绍安装AIACC-Training 1.5.0的多种方式。

AIACC-Training支持基于主流人工智能(包括PyTorch、TensorFlow、MXNet、Caffe等)搭建的模型进行分布式训练。在接口层面上,目前AIACC-Training兼容了PyTorch DDP以及Horovod的API,对于原生使用上述分布式训练方法的训练代码,可以做到无感的性能加速。本文将为您介绍安装AIACC-Training 1.5.0的多种方式。

前提条件

已创建阿里云GPU实例,且GPU实例需满足以下要求:

  • 操作系统为Alibaba Cloud Linux、CentOS 7.x或Ubuntu 16.04以上版本。
  • 已安装NVIDIA Driver和CUDA 10.0或以上版本。

背景信息

本文以安装AIACC-Training 1.5.0版本为例,您可以根据自身业务场景,选择以下任一方式安装AIACC-Training。

安装方式

说明

方式一:在已有的AI软件环境中安装AIACC-Training

如果已布置了深度学习的AI训练环境,则您可以通过自动或手动方式安装AIACC-Training。

方式二:安装包含了AIACC-Training的Conda环境

如果需要使用Conda环境,则您可以通过一键创建包含AIACC-Training的Conda环境的方式安装AIACC-Training。

方式三:安装配有AIACC-Training的Docker镜像

如果需要使用Docker环境,则您可以通过下载已配备了AIACC-Training的Docker镜像的方式安装AIACC-Training。

说明在ECS管理控制台创建ECS时,如果控制台页面存在 AIACC训练加速选项,且您已选中 AIACC训练加速,则ECS创建完成后,会自动安装AIACC-Training 1.3.3版本。推荐您选用上述列表中的三种安装方式之一,安装AIACC-Training 1.5.0版本。

支持的框架列表

AIACC-Training提供对应不同深度学习框架版本的软件包,目前支持的框架版本如下:

CUDA版本

框架类型

框架版本

10.0

PyTorch

1.2.0、1.3.0

TensorFlow

1.14.0、1.15.0、2.0.0

MXNet

1.4.1、1.5.0、1.7.0

10.1

PyTorch

1.6.0、1.5.1、1.4.0

TensorFlow

2.1.0、2.2.0、2.3.0

MXNet

1.4.1、1.5.0、1.6.0、1.7.0、1.9.0

10.2

PyTorch

1.5.1、1.6.0、1.8.0、1.8.2、1.9.0、1.10.0

MXNet

1.9.0

11.0

PyTorch

1.7.0、1.7.1

TensorFlow

2.4.0

MXNet

1.9.0

说明:

  • 目前TensorFlow以及MXNet仅支持Python 3.6版本。
  • PyTorch支持Python 3.6~Python 3.9版本,具体与PyTorch官网提供的版本支持一致。更多版本支持信息,请参见PyTorch官网
  • 如您使用的框架版本不在上表支持范围内,请提交工单获取支持。

方式一:在已有的AI软件环境中安装AIACC-Training

若您已布置了深度学习训练环境,可以通过自动或手动方式安装AIACC-Training。安装前您的环境需满足以下条件:

  • 已安装Python 3以及对应的pip工具。
  • 已安装深度学习框架PyTorch、TensorFlow或MXNet。

重要重新安装了深度学习框架之后,也需要再次安装AIACC-Training。

  1. 自动安装AIACC-Training软件包(推荐)

AIACC-Training提供了对应框架版本的Python软件包,您可以执行如下命令,通过一键脚本自动安装。

wget https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/install_AIACC-Training.sh && bash install_AIACC-Training.sh

说明脚本默认使用 python3作为Python的命令,如果您需要使用其他Python命令,可在脚本的最后添加。例如使用 python作为Python的命令,请执行命令 wget https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/install_AIACC-Training.sh && bash install_AIACC-Training.sh python进行一键安装。

  1. 手动安装AIACC-Training软件包

您可以执行如下命令,使用pip手动安装最新的AIACC-Training软件包。

  • 如果您使用的是PyTorch,请使用以下命令安装AIACC-Training。
pip install --force-reinstall https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda${cuda_version}/perseus_torch-1.5.0%2B${framework_version}-cp${python_version}-cp${python_version}m-linux_x86_64.whl --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple/

部分参数说明如下:

  • ${cuda_version}为cuda的版本,需要去除版本号中的半角句号(.),例如cuda 11.0对应cuda_version=110。
  • ${framework_version}为框架版本号,例如PyTorch 1.7.1对应framework_version=1.7.1。
  • ${python_version}为python的版本号,需要去除版本号中的半角句号(.),例如python 3.6对应python_version=36。

对于Python 3.8或以上版本的whl包,请使用如下的下载地址模板:

https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda${cuda_version}/perseus_${framework}-1.5.0%2B${framework_version}-cp${python_version}-cp${python_version}-linux_x86_64.whl

以PyTorch 1.7.1、CUDA 11.0、Python 3.6版本为例,一键安装命令如下:

cuda_version=110         #注意:此处不带“.”号
framework=torch
framework_version=1.7.1
python_version=36
pip install --force-reinstall https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda${cuda_version}/perseus_${framework}-1.5.0%2B${framework_version}-cp${python_version}-cp${python_version}m-linux_x86_64.whl --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple/

如果您使用TensorFlow或MXNet,请使用以下命令安装AIACC-Training。

pip install --force-reinstall https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda${cuda_version}/perseus_${framework}-1.5.0%2B${framework_version}-py2.py3-none-manylinux1_x86_64.whl --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple/

以TensorFlow 1.15.0、CUDA 10.0、Python 3.6版本为例,一键安装命令如下:

cuda_version=100         #注意:此处不带“.”号
framework=tensorflow
framework_version=1.15.0
pip install --force-reinstall https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/cuda${cuda_version}/perseus_${framework}-1.5.0%2B${framework_version}-py2.py3-none-manylinux1_x86_64.whl --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple/

方式二:安装包含了AIACC-Training的Conda环境

Conda是一款开源跨平台的软件包及环境管理系统。您可以一键创建包含AIACC-Training的Conda环境,该环境已安装CUDA Toolkit、Python 3、深度学习框架以及最新的AIACC-Training软件等,方便您快速搭建和管理不同的深度学习框架和版本,并通过AIACC-Training显著提升训练性能。

  1. 前往Conda官网,下载并安装最新版本的Miniconda。
  2. 根据需要的框架版本和环境信息,执行如下命令,一键创建相应的Conda环境。
conda env create -f https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/conda/latest/${framework}_${framework_version}_cu${cuda_version}_py${python_version}.yaml

以PyTorch 1.7.1、CUDA11.0、Python 3.6为例,一键创建Conda环境的命令如下:

cuda_version=11.0  
framework=torch    
framework_version=1.7.1
python_version=36
conda env create -f https://ali-perseus-release.oss-cn-huhehaote.aliyuncs.com/conda/latest/${framework}_${framework_version}_cu${cuda_version}_py${python_version}.yaml

部分参数说明如下:

  • ${cuda_version}:需为带半角句号(.)的CUDA版本号,此版本必须小于或等于ECS已安装的CUDA版本。
  • ${framework}:为深度学习框架类型,tensorflow/mxnet/torch分别对应TensorFlow/MXNet/PyTorch框架。

说明若提示找不到该Conda环境的URL,则表示暂不支持该框架版本。更多信息,请参见 支持的框架列表

方式三:安装配有AIACC-Training的Docker镜像

您可以下载已安装了AIACC-Training的Docker镜像,该镜像内已安装CUDA、Python 3、深度学习框架和最新的AIACC-Training软件等,能够帮助您快速部署深度学习环境,管理不同的CUDA环境,并通过AIACC-Training显著提升训练性能。

安装前您的环境需满足以下条件:

根据需要的框架版本和环境信息,执行如下命令,下载对应的Docker镜像。

docker pull registry.cn-beijing.aliyuncs.com/cto_office/perseus-training:${os_type}-cu${cuda_version}-${framework}${framework_version}-py${python_version}-latest

部分参数说明如下:

简称

说明

示例值

os_type

Docker镜像的系统类型。

说明

Docker内的系统类型与ECS实例的系统类型无关。

centos7

cuda_version

CUDA的版本号。

说明

版本号需带半角句号(.),此版本可小于或等于ECS已安装的CUDA版本。

11.0

framework

深度学习框架类型的缩写。tf/mx/pt分别对应TensorFlow/MXNet/PyTorch框架。

tf

framework_version

深度学习框架对应的版本号,格式为xx.xx.xx。

2.4.0

python_version

Python版本号。

说明

版本号不带半角句号(.),例如36/37/38对应Python 3.6/3.7/3.8版本。

36

以CentOS 7、CUDA 11.0、TensorFlow 2.4.0的镜像为例,一键安装命令如下:

os_type=centos7          
cuda_version=11.0        
framework=tf             
framework_version=2.4.0
python_version=36        
docker pull registry.cn-beijing.aliyuncs.com/cto_office/perseus-training:${os_type}-cu${cuda_version}-${framework}${framework_version}-py${python_version}-latest

关于如何使用Docker进行分布式训练,具体操作,请参见 Horovod in Docker

说明:

  • 若提示找不到该Docker镜像,则表示暂不支持该框架版本。更多信息,请参见支持的框架列表
  • 若使用容器进行分布式训练,执行docker run命令启动需要增大shm的分配,参数为--shm-size=1g --ulimit memlock=-1


好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8

【扫码填写上方调研问卷】

欢迎每位来到弹性计算的开发者们来反馈问题哦~

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
1月前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
111 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
1月前
|
人工智能 Ubuntu Linux
安装阿里图文融合AI - AnyText心路历程(安装失败告终,心痛!)
安装阿里图文融合AI - AnyText心路历程(安装失败告终,心痛!)
|
2月前
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
|
2月前
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记二十二:基于 LeNet5 的手写数字识别及训练
本文介绍了使用PyTorch复现LeNet5模型并检测手写数字的过程。通过搭建PyTorch环境、安装相关库和下载MNIST数据集,实现了模型训练与测试。训练过程涉及创建虚拟环境、安装PyTorch及依赖库、准备数据集,并编写训练代码。最终模型在测试集上的准确率达到0.986,满足预期要求。此项目为后续在RK3568平台上部署模型奠定了基础。
|
2月前
|
人工智能 测试技术 PyTorch
AI计算机视觉笔记二十四:YOLOP 训练+测试+模型评估
本文介绍了通过正点原子的ATK-3568了解并实现YOLOP(You Only Look Once for Panoptic Driving Perception)的过程,包括训练、测试、转换为ONNX格式及在ONNX Runtime上的部署。YOLOP由华中科技大学团队于2021年发布,可在Jetson TX2上达到23FPS,实现了目标检测、可行驶区域分割和车道线检测的多任务学习。文章详细记录了环境搭建、训练数据准备、模型转换和测试等步骤,并解决了ONNX转换过程中的问题。
|
2月前
|
存储 人工智能 数据可视化
AI计算机视觉笔记二十一:PaddleOCR训练自定义数据集
在完成PaddleOCR环境搭建与测试后,本文档详细介绍如何训练自定义的车牌检测模型。首先,在`PaddleOCR`目录下创建`train_data`文件夹存放数据集,并下载并解压缩车牌数据集。接着,复制并修改配置文件`ch_det_mv3_db_v2.0.yml`以适应训练需求,包括设置模型存储目录、训练可视化选项及数据集路径。随后,下载预训练权重文件并放置于`pretrain_models`目录下,以便进行预测与训练。最后,通过指定命令行参数执行训练、断点续训、测试及导出推理模型等操作。
|
2月前
|
机器学习/深度学习 人工智能 测试技术
AI计算机视觉笔记二十五:ResNet50训练部署教程
该项目旨在训练ResNet50模型并将其部署到RK3568开发板上。首先介绍了ResNet50网络,该网络由何恺明等人于2015年提出,解决了传统卷积神经网络中的退化问题。项目使用车辆分类数据集进行训练,并提供了数据集下载链接。环境搭建部分详细描述了虚拟环境的创建和所需库的安装。训练过程中,通过`train.py`脚本进行了15轮训练,并可视化了训练和测试结果。最后,项目提供了将模型转换为ONNX和PT格式的方法,以便在RK3568上部署。
|
2月前
|
人工智能 计算机视觉 Python
AI计算机视觉笔记十九:Swin Transformer训练
本文介绍了使用自定义数据集训练和测试目标检测模型的步骤。首先,通过安装并使用标注工具labelme准备数据集;接着修改配置文件以适应自定义类别,并调整预训练模型;然后解决训练过程中遇到的依赖冲突问题并完成模型训练;最后利用测试命令验证模型效果。文中提供了具体命令及文件修改指导。
|
2月前
|
机器学习/深度学习 人工智能 计算机视觉
AI计算机视觉笔记二十三:PP-Humanseg训练及onnxruntime部署
本文介绍了如何训练并使用PaddleSeg的人像分割模型PP-HumanSeg,将其导出为ONNX格式,并使用onnxruntime进行部署。首先在AutoDL服务器上搭建环境并安装所需库,接着下载数据与模型,完成模型训练、评估和预测。最后,通过paddle2onnx工具将模型转换为ONNX格式,并编写预测脚本验证转换后的模型效果。此过程适用于希望在不同平台上部署人像分割应用的开发者。