vai_q_pytorch 含 GPU 版本和 CPU 版本。它支持 PyTorch 1.2 到 2.0 版,但不支持 PyTorch 数据并行化。vai_q_pytorch 有两种安装方法:
使用 Docker 容器安装
Vitis AI 为量化工具(包括 vai_q_pytorch)提供了 Docker 容器。运行 GPU 或 CPU 容器后,激活 Vitis AI-PyTorch conda 环境。
conda activate vitis-ai-pytorch
注释: 在某些情况下,如要在 conda 环境下安装某些包,但遇到权限问题,可基于
vitis-ai-pytorch
来创建独立的 conda 环境,而不是直接使用 vitis-ai-pytorch
。AMD Model Zoo 中的 pt_pointpillars_kitti_12000_100_10.8G_1.3 模型即可作为此类示例。含指定 PyTorch 版本(1.2 到 2.0)的新 conda 环境可使用 https://github.com/Xilinx/Vitis-AI/blob/v3.5/docker/common/replace_pytorch.sh 脚本进行创建。此脚本会执行下列操作:
- 从 Vitis AI-pytorch 克隆 conda 环境。
- 卸载原始 PyTorch、torchvision 和 vai_q_pytorch 包。
- 安装指定版本的 PyTorch 和 torchvision。
- 从源代码重新安装 vai_q_pytorch。
replace_pytorch.sh new_conda_env_name
注释: 运行该脚本前,请检查 replace_pytorch.sh 脚本中的 Python、PyTorch 和 cuda-toolkit 版本,并根据需要对其版本进行编辑。选择 PyTorch 版本并编辑命令行时,请遵循 PyTorch 官方网站上的指示信息进行操作。
从源代码安装
vai_q_pytorch 属于旨在作为 PyTorch 插件使用的 Python 包。它在 Vitis_AI_Quantizer 中开源。AMD 建议在 conda 环境下安装 vai_q_pytorch。为此,请执行以下步骤:
- 在 .bashrc 中添加 CUDA_HOME 环境变量。如果 GPU 版本的 CUDA 库安装在 /usr/local/cuda 中,请将以下行添加到 .bashrc 中。如果 CUDA 位于其他目录中,那么请对该行进行相应更改:
export CUDA_HOME=/usr/local/cuda
对于 CPU 版本,请移除 .bashrc 中的所有 CUDA_HOME 环境变量设置。建议在 shell 窗口的命令行中使用以下命令将其清除:unset CUDA_HOME
- 安装 PyTorch (1.2~2.0) 和 torchvision:
以下代码使用 PyTorch 1.7.1 和 torchvision 0.8.2 作为示例。您可在 PyTorch 网站上找到有关其他版本的详细指示信息。
pip install torch==1.7.1 torchvision==0.8.2
- 安装其他依赖项:
pip install -r requirements.txt
- 安装 vai_q_pytorch:
cd ./pytorch_binding python setup.py install
- 验证安装:
python -c "import pytorch_nndct"