调用PyTorch图算子接口需要预先配置PyTorch和Torchvision环境,并应用相应的补丁文件。
安装conda以及相关依赖
- 下载安装脚本Miniconda3-py312_25.1.1-2-Linux-aarch64.sh。
- 执行脚本,根据提示按下回车键或输入“yes”。
| bash Miniconda3-py312_25.1.1-2-Linux-aarch64.sh
source /root/miniconda3/bin/activate
|
- 进入conda环境。
conda activate base
- 安装依赖。
| conda install cmake ninja numpy pyyaml typing_extensions pillow fsspec jinja2 networkx sympy filelock ffmpeg
#conda无法安装完整的gcc、g++,仍需依赖系统环境gcc的库,因此,conda安装的gcc版本和g++的大版本要和系统的一致。
#例如gcc -V可以查看版本,若gcc 12,则执行下面命令
conda install -c conda-forge gcc=12 gxx=12
pip install av==11.0.0 pytest
|
- 配置环境变量。
| export LD_LIBRARY_PATH=/root/miniconda3/lib:${LD_LIBRARY_PATH}
|
安装PyTorch 2.4.1
安装PyTorch的依赖项包括Python、pip、Cmake以及其他库,安装前确保已安装相关的依赖项。
- 下载PyTorch源码pytorch-v2.4.1.tar.gz。
- 编译安装。
安装前请确认PyTorch对应的Python版本的要求,可在
PyTorch官网。
| tar -xzvf pytorch-v2.4.1.tar.gz && cd pytorch-v2.4.1 && git init && git add . && git commit -m "init"
python setup.py build --cmake
python setup.py install
|
- 打开Python终端,输入以下代码验证PyTorch安装是否成功。注意:不能在pytorch-v2.4.1源码路径下执行,需切换到其他的路径。
| import torch
print(torch.__version__)
|
如果输出了PyTorch的版本号,说明PyTorch安装成功。
安装Torchvision
安装前确保已安装完成PyTorch。
- 下载Torchvision源码v0.20.0.zip。
- 编译安装。
| unzip vision-0.20.0.zip && cd vision-0.20.0 && git init && git add . && git commit -m "init"
python setup.py install
|
- 打开Python终端,输入以下代码验证Torchvision安装是否成功。注意:不能在vision-0.20.0源码路径下执行,需切换到别的路径。
| import torchvision
print(torchvision.__version__)
|
如果输出了Torchvision的版本号,说明Torchvision安装成功。
使用PyTorch图算子
- 从KPCV软件压缩包BoostKit-kp_cv_***.zip解压得到kpt-2.4.1.patch和kpt.patch和vision-0.20.0.patch。
- 在PyTorch源码目录下应用kpt-2.4.1.patch文件。resize函数优化需要应用此patch。
| git apply kpt-2.4.1.patch
python setup.py install
|
- 在Torchvision源码目录下应用patch文件。
- normalize和permute的优化需要应用kpt.patch。
| git apply kpt.patch
python setup.py install
|
- crop,write_video函数的优化需要应用vision-0.20.0.patch。
| git apply vision-0.20.0.patch
python setup.py install
|
补丁应用成功后即可使用PyTorch图算子。
故障排除
- 问题1:安装过程中提示immintrin.h头文件找不到。
解决方法:安装python-devel。
- 问题2:安装过程中提示“'utf-8' codec can't decode byte 0xe0 in position 5560: invalid continuation byte”,提示信息如下所示。

解决方法:在
“pytorch-v2.4.1/tools/setup_helpers”路径下的cmake.py和env.py文件中open函数里添加
“errors='ignore'”,添加结果如
图1和
图2所示。
图1 cmake.py文件open函数添加errors='ignore'
图2 env.py文件open函数添加errors='ignore'
- 问题3:编译pytorch时出现“undefined reference to `__cxa_thread_atexit_impl@GLIBC_2.18'”。

解决方法:
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++