为什么有扩展模块
发布|OpenVINO扩展模块支持原生Pytorch模型转换与ARM加速
OpenVINO刚刚不久之前发布了新版本OpenVINO2021.3版本,其中最引入关注的是有了OpenVINO扩展模块,github的地址如下:
https://github.com/openvinotoolkit/openvino_contrib
关于为什么要有OpenVINO扩展模块的解释,github上有这样一段话说明:
意思就是说,有一些新功能模块不是很稳定,暂时不能放到release版本中去,先在扩展模块中充分的测试,性能稳定之后再放到主仓中去,另外一个说明就是扩展模块中每个模块都是解耦的,可以独立编译使用。达到产品级质量就升格到release中去。
三个模块
当前扩展模块主要包括三个部分
arm_plugin
支持深度神经网络的ARM CPU加速推理
java_api
支持Java的SDK了,什么意思,就是Java程序员也可以使用推理引擎了。
mo_pytorch
支持直接把pytorch模型转换为IR,听到这个消息,一大群pytorch开发者泪奔,pytorch终于跟OpenVINO可以无缝对接了,从训练到部署。
其中arm支持给出测试demo是在树莓派4B上面,演示程序运行如下:
支持32FP与16FP的模型精度,不支持INT8。
java_api支持是基于OpenJDK,
pytorch模型直接转换为IR格式,支持的模型如下:
- torchvision.models.alexnet
- torchvision.models.resnet18
- torchvision.models.squeezenet1_1
- torchvision.models.inception_v3
- torchvision.models.segmentation.deeplabv3_resnet50
- Detectron2 RetinaNet
感觉似乎有点少,看来得继续加油!需要更多模型转换支持!
为了让大家更好得理解与使用OpenVINO框架,我特别整理了OpenVINO计算机视觉加速的学习路径,图示如下: