OpenVINO
文章平均质量分 79
sandmangu
这个作者很懒,什么都没留下…
展开
-
OpenVINO 2021r4.1 - 瞎搞YOLOV5 模型转换,INT8量化及C++推理实现
以前曾经按照这个教程来做yolov5量化GitHub - Chen-MingChang/pytorch_YOLO_OpenVINO_demoContribute to Chen-MingChang/pytorch_YOLO_OpenVINO_demo development by creating an account on GitHub.https://github.com/Chen-MingChang/pytorch_YOLO_OpenVINO_demo但是有几个问题挺郁闷这个github的作者在o原创 2021-09-22 12:32:26 · 4157 阅读 · 25 评论 -
OpenVINO 2021r2 - Remote Blob API of GPU Plugin 示例复现(二) Inference within User-Supplied Shared Contex
今天再试试官方文档Remote Blob API of GPU Plugin里面的另一个例子Running GPU Plugin Inference within User-Supplied Shared Context,大概的意思就是由用户提供自己的OpenCL context,OpenVINO的clDNN利用用户共享的context来跑inference (对应的场景应该是用户已经有了自己的OpenCL实现的应用,然后要把OpenVINO GPU推理功能集成进自己应用的场景)。官网的例子只给出.原创 2021-04-14 10:51:11 · 530 阅读 · 0 评论 -
OpenVINO 2021r2 - Remote Blob API of GPU Plugin 示例复现(一) OpenCL Kernel Execution on a Shared Buffer
前一阵尝试了一下OpenVINO纯GPU处理的代码实现, 主要复现了OpenVINO官方文档Remote Blob API of GPU Plugin 中的 OpenCL Kernel Execution on a Shared Buffer例子基本实现具体可以参考这篇文章 OpenVINO 2020r3 体验GPU Remote Blob API在代码里,把OpenVINO clDNN的cl::context提取出来,再基于这个context创建了cl::device和cl::queue..原创 2021-03-26 14:00:58 · 854 阅读 · 0 评论 -
OpenVINO 2021r1 超分辨率重建 INT8量化 - Waifu2x
接下来试试超分INT8量化, 还是拿我首先又毫无意外的掉进坑里了... ...本来系统里已经装好了OpenVINO 2021r2, 想直接从这个版本开始,先安装accuracy_checker和pot的最新版本到openvino_2021\deployment_tools\open_model_zoo\tools\accuracy_checker目录下运行python setup.py install安装成功,再到openvino_2021\deployment_tools\.原创 2021-03-10 16:27:14 · 1604 阅读 · 10 评论 -
OpenVINO 2021r2 C++ 超分辨率重建 Waifu2x
最后试一下waifu2x, 因为我一直都喜欢waifu2x, 觉得他们家的超分算法在动画图像上的效果真的很惊艳,很久以前体验过windows版本,那时候机器又破,还用的是电脑上的caffe框架,超分个图片慢如老牛拉车。现在正好试试OpenVINO能不能加个速。先从https://github.com/lltcggie/waifu2x-caffe/releases/tag/1.2.0.4 下载一个release包 waifu2x-caffe.zip所有的模型放在models目录下,这里用了u...原创 2021-02-01 15:43:45 · 1221 阅读 · 6 评论 -
OpenVINO 2021r2 C++ 超分辨率重建DBPN
想多看看OpenVINO 2021r2对各种SR模型计算层的支持怎么样,再试一下DBPN, 这个是NTIRE2018超分8倍的冠军, 只随便测试一下2X的模型从网上找了个基于caffe的模型 https://github.com/alterzero/DBPN-caffe caffe是个非常老的框架了 OpenVINO应该支持的非常好了.关于推理数据的预处理和后处理,从原项目可以看出就是简单的除以255.0和乘以255.0 %% work on illuminance o...原创 2021-02-01 15:43:16 · 345 阅读 · 0 评论 -
OpenVINO 2021r2 C++ 超分辨率重建EDSR
接下来试试EDSR,NTIRE2017 超分辨率挑战赛的第一名https://github.com/achie27/super-resolution原创 2021-02-01 11:57:55 · 809 阅读 · 0 评论 -
OpenVINO 2021r2 C++ 超分辨率重建FSRCNN
最近把OpenVINO升级到了最新版本(超级不喜欢openvino这点,每次升级都要换几个接口,虽说API会向前兼容几个版本,不过跟起来真累啊,OpenCV, FFMPEG也是这样,是不是开源项目都是这么玩的啊... ) 顺便来试试看最新版本的OpenVINO对图像超分的模型支持的怎么样。先从FSRCNN 开始,毕竟这是图像超分的经典模型,运算量小推理速度快,超分效果又好。...原创 2021-01-28 14:15:06 · 1663 阅读 · 0 评论 -
OpenVINO 2020r3 体验GPU Remote Blob API
这几天再回过头来学习一下openvino 2020r3,最近做的GPU方面的工作比较多,在OpenVINO的实际应用中,有相当一部分应用走的是纯GPU的处理流程,即视频解码,预处理,推理,后处理以及视频编码都交由GPU来完成。优化这类应用的要点就是所有的数据都放在显存里传递,不要把流水线里的中间结果在CPU的内存和GPU显存之间搬来搬去。其实道理很简单,现在的摄像头硬件成本越来越低,技术又越来越先进,导致前端采集的视频的分辨率越来越高。1080P仅仅是起步,现在碰到的4K, 8K的视频流也越来越多,还有原创 2021-01-12 12:40:09 · 1758 阅读 · 1 评论 -
用OpenVINO 2020r2的accuracy_check精度检测工具检测ssd模型精度的示例
前面在OpenVINO 2020的INT8转换工具POT的初体验里面分享了一下POT和accuracy_check工具的用法,但是用的是分类classification模型,相对比较简单,今天简单分享一下写检测ssd模型精度的config文件的思路首先要骂娘的是OpenVINO的文档写的极其差,几乎是找不到任何你想要的东西。也许这就是开源项目的精髓,一切全靠看代码... 所以先想一下,在我用DL workbench的时候,可以转换mobilenet-ssd模型和测试模型精度。所以这部分肯定是带...原创 2020-07-30 17:16:14 · 1648 阅读 · 0 评论 -
对CPU超线程与推理性能的一些理解
最近在pytorch下面做模型推理,官网pytorch默认就用了MKLDNN做优化,在pytorch里MKLDNN的多核多线程的调度用了OpenMP来做控制,所以可以用设置OpenMP环境的方法来控制OpenMP的调度逻辑,这里面发现一些有趣的现象。首先做一些代码修改以便在pytorch下面最大程度的利用MKLDNN加速通过设置环境变量MKLDNN_VERBOSE=1来观察默认pytorch里MKLDNN的运行信息mkldnn_verbose,info,Intel MKL-DNN v0..原创 2020-07-24 14:30:29 · 1961 阅读 · 0 评论 -
OpenVINO Model Optimizer转换时的预处理preprocess
深度模型在训练的时候,为了得到最好的推理精度,通常都不会把图像数据(0,255)直接送进去,而是会对数据做归一化处理,比如把数据从(0,255)的8bit整数转到(0,1)或者(-1,1)的32bit浮点之间;同时对于RGB数据,不同的推理框架在训练时对于彩色通道的排列RGB/BGR也不同。对应的在推理的时候, 也需要把摄像头抓到的数据也做对应的预处理, 把数据做一个归一化,以及色彩通道的调整。OpenVINO的用MO转换模型的时候,也考虑到了这个问题,可以在mo转换的时候加一些对应的参数来帮忙做.原创 2020-07-07 16:26:48 · 1779 阅读 · 3 评论 -
OpenVINO 2020的INT8转换工具POT的初体验
在OpenVINO 2019里是用Calibration tool把网络模型转成INT8模型。到了OpenVINO 2020版本开始这个工具被去掉了,取而代之的是POT (Post-Training Optimization Tool)工具. POT的使用方法和参数的含义和Calibration Tool又有所不同,因此要转INT8模型的话又要重新学习一遍官网的文档。这里简单记录一下我用这个工具转换mobilenet模型的一个过程。用OpenVINO 2020转换INT8主要用到2个工具1..原创 2020-06-02 16:17:41 · 3513 阅读 · 16 评论 -
OpenVINO 2020版本 - GPU推理性能有惊喜
直接上2019R3和2020R2的性能对比,测试平台Intel i5-7440HQ, Win10 1709 GPU驱动 26.20.100.7812 发布日期1/21/2020利用OV自带的benchmark测试,测2种情况最小延迟 (尽可能快的处理单幅图片) benchmark_app.exe -nireq 1 -nstreams 1 -b 1 -m mobile...原创 2020-05-07 13:38:35 · 3446 阅读 · 3 评论 -
基于openvino 2019R3的INT8推理(inference)性能的深入研究 (二) MobilenetV3
接下来是个失败的例子 MoiblenetV3老规矩,先下模型,转换模型,再测benchmark从这里下载模型https://github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet下载Large dm=1 (float)这个模型,然后转换成OpenVINO FP32模型python "c:...原创 2020-04-17 12:21:56 · 1727 阅读 · 0 评论 -
基于openvino 2019R3的INT8推理(inference)性能的深入研究 (一) MobilenetV2
最近一直在研究OpenVINO的INT8的推理性能,原本以为INT8是个万能膏药,任何模型经过INT8转换都可以提高性能。但是实战发现并不是如此,最近分析了2个模型MobilenetV2和MobilenetV3,发现MobilenetV2的模型在转成INT8以后性能会大幅提升,但是MobilenetV3转换成INT8模型后性能反而会大幅下降。原来一直以为是自己转换的方法不对,后来深入分析了一下模型...原创 2020-04-16 15:22:20 · 5405 阅读 · 10 评论 -
基于openvino 2019R3的推理性能优化的学习与分析 (六) 基于CPU的INT8推理(inference)性能分析
OpenVINO号称支持CPU INT8的推理已经好久了Introducing int8 quantization for fast CPU inference using OpenVINO号称在mobilenet-ssd上 i7-8700能有1.36X的性能提升。但是前几个版本的calibration tool的变化实在太大了,从native C++变成python tool, 再到现在的D...原创 2019-12-17 16:58:11 · 2645 阅读 · 6 评论 -
基于openvino 2019R3的推理性能优化的学习与分析 (五) 基于CPU/GPU混合运算的推理(inference)性能分析
最近读到这么一篇文章Automatic Multi-Device Inference with Intel® Distribution of OpenVINO™ toolkit,号称使用CPU/GPU协同运算做推理,可以大幅度提高推理能力。以mobilenet-ssd为例,文中附上了一个性能数据对比CPU/GPU一起推理后的性能相对只用CPU推理,性能提高了到了0.79/0.64=...原创 2019-12-17 12:04:16 · 2722 阅读 · 21 评论 -
基于openvino 2019R3的推理性能优化的学习与分析 (四) 基于GPU的推理(inference)性能分析
再看看纯集成显卡GPU的mobilenet-ssd 的推理性能, 测试平台是i5 7440HQ, 4核4线程, GPU是Gen9 的GT2, 24EU, 属于纯大白菜集成显卡首先是FP32模型当Batch size =1时inference request(nireq) = 1时,即同时只有一个推理请求Latency = 13.6ms, Throughtput = 73F...原创 2019-12-16 15:08:42 · 1793 阅读 · 0 评论 -
基于openvino 2019R3的推理性能优化的学习与分析 (三) 基于CPU的推理(inference)性能分析
根据前面2部分对benchmark_app的分析,重新改写了一下benchmark的代码,主要去掉了命令传递参数的方法,所有参数改为代码里hard code;去掉了智能指针之类的高级用法,只使用简单的操作系统提供的多线程同步接口。这么做的目的是为了以后把inference这部分作为一个模块,可以更简单的集成进自己的程序里 :)首先看一下纯CPU的mobilenet-ssd FP32模型的...原创 2019-12-16 12:33:20 · 1844 阅读 · 0 评论 -
基于openvino的推理性能优化的学习与分析 (二) 官方参考源码benchmark_app的设计逻辑
通过学习sample代码里main函数的流程和注释,Benchmark_app的实现流程整理如下benchmark支持CPU/GPU/NCS计算棒等多种硬件的单独使用推理和混合使用推理。具体的命令参数是CPU推理./benchmark_app -m <model> -i <input> -d CPUGPU推理./benchmark_app -m <...原创 2019-12-13 17:51:53 · 2524 阅读 · 4 评论 -
基于openvino的推理性能优化的学习与分析 (一) 官方参考源码benchmark_app的编译运行
很久以前就看了这么一篇文章 "使用英特尔®GPU的性能调优达到153帧MobileNet-SSD目标检测", 作者是在Intel CPU的集成显卡上实现的。一直想亲手实践一下,无奈这些年患了很严重的拖延症和懒癌。最近病情有所好转,索性努力研究一下。首先安装VS2017, 接着从官网下载安装最新的openvino版本2019 R3. 按照官网的Install Intel® Distribu...原创 2019-12-11 17:00:32 · 2443 阅读 · 3 评论