安装和功能说明
功能简介
Torchvision Adapter提供Torchvision库在NPU设备上的适配,增加了对Torchvision所提供的常用算子的支持,基于cv2和昇腾NPU加速图像处理。
安装方法
当前昇腾适配的版本要求Torchvision 0.12.0,PyTorch版本为1.11.0。
- 编译安装Torchvision。
git clone https://github.com/pytorch/vision.git cd vision git checkout v0.12.0 # 编包 python setup.py bdist_wheel # 安装 cd dist pip3 install torchvision-0.12.*.whl # 不同环境下编译出的安装包名称有区别,请用户根据实际情况填写安装包名
即使用户在安装PyTorch时已经通过pip方式安装了Torchvision包,此处也需要进行编译安装Torchvision的步骤。
- 编译安装Torchvision Adapter插件。
# 下载master分支代码,进入插件根目录 git clone https://gitee.com/ascend/vision.git vision_npu cd vision_npu git checkout v0.12.0-dev # 安装依赖库,如果使用非root用户安装,需要在命令后加--user pip3 install -r requirement.txt # 编包 python setup.py bdist_wheel # 安装 cd dist pip install torchvision_npu-0.12.*.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
是
- 原生调用方式如下。
父主题: Torchvision Adapter