Torchvision Adapter
功能简介
Torchvision Adapter提供Torchvision库在NPU设备上的适配,增加了对Torchvision所提供的常用算子的支持,提供基于cv2和基于昇腾NPU的图像处理加速后端以加速图像处理。
安装方法
当前昇腾适配的版本要求Torchvision 0.9.1,PyTorch版本为1.8.1。
- 编译安装Torchvision。
git clone https://github.com/pytorch/vision.git cd vision git checkout v0.9.1 # 编包 python setup.py bdist_wheel # 安装 cd dist pip3 install torchvision-0.9.*.whl #不同环境下编译出的安装包名称有区别,请用户根据实际情况填写安装包名
即使用户在安装PyTorch时已经通过pip方式安装了Torchvision包,此处也需要进行编译安装Torchvision的步骤。
- 编译安装Torchvision Adapter插件。
# 下载master分支代码,进入插件根目录 git clone -b master https://gitee.com/ascend/vision.git vision_npu cd vision_npu git checkout v0.9.1-dev # 安装依赖库 pip3 install -r requirement.txt # 编包 python setup.py bdist_wheel # 安装 cd dist pip install torchvision_npu-0.9.*.whl #不同环境下编译出的安装包名称有区别,请用户根据实际情况填写安装包名
使用方法
- 调用算子。
以Torchvision的torchvision.ops.nms算子为例。
- 原生调用方式如下。
# 算子的cuda/cpu版本调用 import torch import torchvision ... torchvision.ops.nms(boxes, scores, iou_threshold) # boxes 和 scores 为 CPU/CUDA Tensor
- 安装Torchvision Adapter插件之后,只需增加import torchvision_npu则可按照原生方式调用Torchvision算子。
# 算子的npu版本调用 import torch import torch_npu import torchvision import torchvision_npu ... torchvision.ops.nms(boxes, scores, iou_threshold) # boxes 和 scores 为 NPU Tensor
Torchvision算子在NPU上支持列表如下。
表1 Torchvision算子在NPU上支持表 算子
是否支持
nms
是
deform_conv2d
是
ps_roi_align
否
ps_roi_pool
否
roi_align
是
roi_pool
是
- 原生调用方式如下。
父主题: 模型套件和第三方库