当前使用的PyTorch官方原生框架在ARM CPU上运行时,算子计算结果会出现异常,此问题为原生框架社区的已知问题,详细内容可参考PyTorch官方社区ISSUE。
可通过以下方式解决:
docker pull quay.io/pypa/manylinux2014_aarch64:latest
docker images
回显如下:
REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/pypa/manylinux2014_aarch64 latest fe2afc7b4b0d 9 days ago 2.09GB
docker run -dit [IMAGE ID] bash
[IMAGE ID]为2查询出的镜像ID。
docker ps
回显如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6c2ead81ede5 fe2afc7b4b0d "manylinux-entrypoin…" 6 seconds ago Up 4 seconds dreamy_einstein
docker exec -it [CONTAINER ID] bash
[CONTAINER ID]为4查询到的容器ID。
cd /usr/local/bin/ ln -s /opt/_internal/cpython-3.7.17/bin/pip3.7 pip3.7 ln -s /opt/_internal/cpython-3.8.17/bin/pip3.8 pip3.8 ln -s /opt/_internal/cpython-3.9.17/bin/pip3.9 pip3.9 ln -s python3.7 python3
pip3.7 install torch==1.11.0 pip3.7 install pyyaml
cd /home/ git clone https://gitee.com/ascend/pytorch.git -b v1.11.0 --depth=1 v1.11.0 cd v1.11.0/
bash ci/build.sh --python=3.7
exit docker cp [CONTAINER ID]:/home/v1.11.0/dist/torch_npu-1.11.0.post1-cp37-cp37m-linux_aarch64.whl ./ pip3 install torch_npu-1.11.0.post1-cp37-cp37m-linux_aarch64.whl