Ascend_PyTorch安装指北

Ascend_PyTorch安装指北

主要分为以下几步:

  1. 升级固件和驱动;
  2. 安装CANN包toolkit;
  3. 安装torch-1.11;
  4. 安装apex;
  5. 安装deepspeed;

升级固件和驱动

固件版本为:Ascend-hdk-910-npu-firmware_6.3.0.1.241.run

驱动版本为:Ascend-hdk-910-npu-driver_23.0.rc1_linux-aarch64.run

关于固件驱动,昇腾提供社区版下载链接

这里有几个选项注意下:

  • 产品系列:服务器
  • 产品型号:Atlas 800训练服务器(型号:9000)(对于x86的CPU,型号选9010)
  • CANN版本:6.3.RC2.alpha002
  • 固件与驱动:1.0.19.alpha
  • 软件包格式:run

下载后,切换到管理员账户运行:

bash 复制代码
bash Ascend-hdk-910-npu-firmware_6.3.0.1.241.run --full
# 上面一步安装完后,暂时不要reboot,等下面的驱动一起安装完后,再reboot
bash Ascend-hdk-910-npu-driver_23.0.rc1_linux-aarch64.run --full --install-for-all
# 重启机器使固件和驱动生效
reboot now

重启后,测试安装的固件驱动是否有效:

bash 复制代码
npu-smi info

第一行显示 npu-smi 23.0.rc1 Version: 23.0.rc1则表示升级成功!

安装CANN包toolkit

昇腾提供CANN包的社区版下载链接

在这里选取最新的6.3.RC2.alpha002版本,跟上面的固件驱动里面显示的CANN版本一致。

软件包:run

软件名称:Ascend-cann-toolkit_6.3.rc2.alpha002_linux-aarch64.run (如果是x86 CPU,选取Ascend-cann-toolkit_6.3.rc2.alpha002_linux-x86_64.run)

安装继续使用管理员权限:

bash 复制代码
bash Ascend-cann-toolkit_6.3.rc2.alpha002_linux-aarch64.run --install --install-for-all --install-path=/usr/local/Ascend

PS: 这里需要注意下,安装CANN包时,对python的一些包有依赖关系。笔者建议用户在管理员账户下配置一个conda环境来解决这些依赖包问题。

安装完CANN包后,需要在每个用户下面配置对应的环境变量,把下面的环境变量添加到~/.bashrc后面:

bash 复制代码
# mindspore env

# control log level. 0-DEBUG, 1-INFO, 2-WARNING, 3-ERROR, default level is WARNING.
export GLOG_v=3

# Conda environmental options
LOCAL_ASCEND=/usr/local/Ascend # the root directory of run package

# lib libraries that the run package depends on
export LD_LIBRARY_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/fwkacllib/lib64:${LOCAL_ASCEND}/driver/lib64:${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling:${LD_LIBRARY_PATH}

# Environment variables that must be configured
export TBE_IMPL_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe            # TBE operator implementation tool path
export ASCEND_OPP_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp                                       # OPP path
export PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin/:${PATH}                 # TBE operator compilation tool path
export PYTHONPATH=${TBE_IMPL_PATH}:${PYTHONPATH}

安装torch-1.11

按照这个链接来安装即可:

注意python版本选取python=3.7(根据自己的需求来)。

安装torch-cpu版本的安装包

bash 复制代码
wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.11.0-cp37-cp37m-linux_aarch64.whl
pip install torch-1.11.0-cp37-cp37m-linux_aarch64.whl

安装torch的插件torch_npu

  1. 下载wheel包,直接安装

    bash 复制代码
    wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc1-pytorch1.11.0/torch_npu-1.11.0-cp37-cp37m-linux_aarch64.whl
    pip install torch_npu-1.11.0-cp37-cp37m-linux_aarch64.whl
  2. 编译安装

    bash 复制代码
    git clone -b master https://gitee.com/ascend/pytorch.git
    cd pytorch && bash ci/build.sh -python=3.9
    pip install --upgrade dist/torch_npu-xxx.whl

安装对应的torchvision

bash 复制代码
pip install torchvision==0.9.1   

安装apex

apex是混合精度训练的模块

安装依赖

  1. 检查gcc版本,需要为7.3.0以上版本,这个一般是满足的。

    bash 复制代码
    gcc --version
  2. 安装cmake,要求3.12.0以上版本。这里建议采用conda来安装,因为ubuntu默认的cmake版本比较低,不满足条件

    bash 复制代码
    conda install cmake
    # 检查cmake版本
    cmake --version

安装apex

bash 复制代码
# 拉取昇腾适配的apex源码
git clone -b master https://gitee.com/ascend/apex.git
# 拉取原生apex源码
cd apex
git clone https://github.com/NVIDIA/apex.git
# 进入apex原生源码目录,并切换分支
cd apex
git checkout 4ef930c1c884fdca5f472a
cd ..
# 对昇腾的apex源码打补丁
cd scripts
bash gen.sh
# 生成apex的whl安装文件
cd ../apex
python setup.py  --cpp_ext --npu_float_status bdist_wheel
# 安装apex
cd dist
pip install  apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl
相关推荐
我爱一条柴ya26 分钟前
【AI大模型】神经网络反向传播:核心原理与完整实现
人工智能·深度学习·神经网络·ai·ai编程
慕婉030736 分钟前
深度学习概述
人工智能·深度学习
大模型真好玩37 分钟前
准确率飙升!GraphRAG如何利用知识图谱提升RAG答案质量(额外篇)——大规模文本数据下GraphRAG实战
人工智能·python·mcp
198938 分钟前
【零基础学AI】第30讲:生成对抗网络(GAN)实战 - 手写数字生成
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·近邻算法
applebomb1 小时前
没合适的组合wheel包,就自行编译flash_attn吧
python·ubuntu·attention·flash
神经星星1 小时前
新加坡国立大学基于多维度EHR数据实现细粒度患者队列建模,住院时间预测准确率提升16.3%
人工智能·深度学习·机器学习
TY-20251 小时前
深度学习——神经网络1
人工智能·深度学习·神经网络
Chasing__Dreams1 小时前
python--杂识--18.1--pandas数据插入sqlite并进行查询
python·sqlite·pandas
cver1232 小时前
CSGO 训练数据集介绍-2,427 张图片 AI 游戏助手 游戏数据分析
人工智能·深度学习·yolo·目标检测·游戏·计算机视觉
FreeBuf_2 小时前
新型BERT勒索软件肆虐:多线程攻击同时针对Windows、Linux及ESXi系统
人工智能·深度学习·bert