在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:pytorch开源软件地址:https://gitee.com/ascend/pytorch开源软件介绍:AscendPyTorch项目简介本项目开发了PyTorch Adapter插件,用于昇腾适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。 编译/执行约束gcc版本: 7.3.0(只在编译场景要求) cmake版本:3.12.0以上版本(只在编译场景要求) python版本:3.7.5、3.8.x、3.9.x(PyTorch1.5不支持python3.9.x) 系统依赖库CentOS & EulerOSyum install -y cmake zlib-devel libffi-devel openssl-devel libjpeg-turbo-devel gcc-c++ sqlite-devel dos2unix openblas Ubuntuapt-get install -y gcc g++ make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev m4 cmake dos2unix libopenblas-dev Ascend配套软件
安装方式编译安装PyTorch和昇腾插件下载插件代码 git clone https://gitee.com/ascend/pytorch.git 当前对应PyTorch 1.8.1版本。根据需求,在当前仓根目录“/pytorch”下获得原生Pytorch源代码并重命名为pytorch_v1.8.1。 //1.8.1版本cd pytorch #插件根目录git clone -b v1.8.1 --depth=1 https://github.com/pytorch/pytorch.git pytorch_v1.8.1 运行如下命令,进入原生pytorch代码目录“pytorch_v1.8.1“,并获取PyTorch被动依赖代码。 cd pytorch_v1.8.1git submodule syncgit submodule update --init --recursivecd .. 完成且没有报错之后就生成了PyTorch及其依赖的三方代码,然后将Patch打入PyTorch源码并编译。 cd patchbash apply_patch.sh ../pytorch_v1.8.1cd ../pytorch_v1.8.1bash build.sh 然后安装pytorch/pytorch_v1.8.1/dist下生成的torch包,接下来编译安装插件 cd distpip3 install --upgrade torch-1.8.1+ascend.rc1-cp37-cp37m-linux_{arch}.whl 编译生成pytorch插件的二进制安装包。 cd ../../ci #进入插件根目录bash build.sh --python=3.7或bash build.sh --python=3.8或bash build.sh --python=3.9 然后安装pytorch/dist下生成的插件torch_npu包 cd distpip3 install --upgrade torch_npu-1.8.1rc1-cp37-cp37m-linux_{arch}.whl 运行运行环境变量在当前仓库根目录中执行设置环境变量脚本 source pytorch/env.sh 自定义环境变量以下环境变量为NPU场景下使用的功能类或可以提升性能的环境变量: export TASK_QUEUE_ENABLE=1 # 使用异步任务下发,异步调用acl接口,建议默认开启,开启设置为1 可选的环境变量可能会对运行的模型产生影响: export DYNAMIC_COMPILE_ENABLE=1 # 动态shape特性功能,针对shape变化场景,可选,开启设置为1export COMBINED_ENABLE=1 # 非连续两个算子组合类场景优化,可选,开启设置为1export ACL_DUMP_DATA=1 # 算子数据dump功能,调试时使用,可选,开启设置为1export DYNAMIC_OP="ADD#MUL" # 算子实现,ADD和MUL算子在不同场景下有不同的性能表现。可选 执行单元测试脚本验证运行, 输出结果OK python3 test/test_network_ops/test_div.py 文档有关安装指南、模型迁移和训练/推理教程和API列表等更多详细信息,请参考用户文档。 建议与交流热忱希望各位在用户社区加入讨论,并贡献您的建议,我们会尽快给您回复。 分支维护策略Ascend PyTorch的版本分支有以下几种维护阶段:
现有分支维护状态
FAQ编译过程执行bash build.sh报错no module named yaml/typing_extensions.pytorch编译依赖 yaml库和typing_extensions库,需要手动安装。 pip3 install pyyamlpip3 install typing_extensions 安装成功后,注意需要执行make clean在执行bash build.sh进行编译,否则可能因缓存出现未知编译错误。 运行遇到找不到te问题开发态: cd /urs/local/ascend-toolkit/latest/fwkacllib/lib64 用户态: cd /urs/local/nnae/latest/fwkacllib/lib64 pip3 install --upgrade topi-0.4.0-py3-none-any.whl pip3 install --upgrade te-0.4.0-py3-none-any.whl 编译cmake报错版本过低cmake官网下载linux版本安装(当前3.18.0)
GCC版本问题切换问题目前存在测试环境从GCC4.8.5 切换到 GCC7.3.0。这个过程容易出现错误导致pytorch编译不过,以下是需要软连接的库 gcc, g++,c++(--version 必须是7.3.0) libstdc++->libstdc++.so.6.0.24(7.3.0) 找不到libblas.so问题环境缺少openblas库,需要安装openblas库 Centos,EulerOS环境 yum -y install openblas Ubuntu环境 apt install libopenblas-dev 版本说明版本说明请参阅ReleseNote |
请发表评论