文档
注册

(可选)安装APEX模块

混合精度训练是在训练时混合使用单精度(float32)与半精度(float16)数据类型,将两者结合在一起,并使用相同的超参数实现了与float32几乎相同的精度。

在迁移完成、训练开始之前,基于NPU芯片的架构特性,用户需要开启混合精度,可以提升模型的性能。APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。

推荐用户通过编译源码包安装APEX模块。

  1. 安装依赖。

    选择编译安装方式安装时需要安装系统依赖。目前支持CentOS与Ubuntu操作系统。

    • CentOS
      yum install -y patch libjpeg-turbo-devel dos2unix openblas git 
      yum install -y gcc==7.3.0 cmake==3.12.0
    • Ubuntu
      apt-get install -y patch build-essential libbz2-dev libreadline-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev m4 dos2unix libopenblas-dev git 
      apt-get install -y gcc==7.3.0 cmake==3.12.0

    gcc7.3.0版本及以上,cmake3.12.0版本及以上;若需要安装1.11.0版本PyTorch,则gcc需为7.5.0版本以上。

  2. 请确保已安装PyTorch框架且setuptools版本小于等于65.7.0,若版本不符合条件,可使用以下命令安装。
    pip install setuptools==65.7.0
  3. 获取昇腾适配的APEX源码。
    git clone -b master https://gitee.com/ascend/apex.git
  4. 进入昇腾适配的APEX源码目录,执行命令编译生成二进制安装包。
    cd apex
    bash scripts/build.sh --python=3.7

    支持Python 3.7、3.8、3.9及3.10,并请确保NPU版本的PyTorch可以正常使用,否则会影响APEX的编译。

    命令执行过程中会自动拉取APEX官方源码,请保证网络畅通,完成后将在apex/dist目录下生成二进制安装包。

  5. 执行如下命令进行安装。如果使用非root用户安装,需要在命令后加--user。
    cd apex/dist/ 
    pip3 uninstall apex      # 可选,若当前python未安装apex,可不执行
    pip3 install apex-0.1_ascend-cp3x-cp3x-arch.whl     # x指python版本尾号,arch指CPU架构
    命令示例:
    # 若用户在x86架构下安装,请将命令中文件包名中的“aarch64”改为“x86_64”。 
    pip3 install apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl
  • pip版本要求小于等于24.0,以确保APEX正常安装。可参考如下命令进行指定pip版本的安装:
    python -m pip install pip==verison
  • 更多混合精度的介绍可参考PyTorch 训练模型迁移调优指南中的“迁移适配 > 模型训练适配 > 关键特性适配 > 混合精度适配(可选)”和“附录 > 混合精度原理与计算过程(AMP)”章节,推荐用户使用框架自带的AMP功能。
  • APEX模块的使用介绍可单击Link进行参考。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词