Movidius
Huo的藏经阁
linux爱好者,平时喜欢阅读内核源码,从源码角度解开操作系统神秘面纱
展开
-
OpenVINO 获取计算棒计算结果
由于因特尔计算棒属于异构架构,即真正的数据计算是在计算棒上,而其他数据获取端是在CPU上,类似与opencl结构当调用infer_request.Infer();接口同步计算完成之后,要想获取到计算结果,还有将结果copy到CPU上,所以获取结果时要先保证计算已经完成,然后再获取结果,可以使用Blob::Ptr output = infer_request.GetBlob(output_...原创 2019-12-10 08:54:46 · 871 阅读 · 0 评论 -
OpenVINO 中的BFYX解释
openvino在custom layer中cpu和GPU版本中 表示维度是用的BFYX,并没有查到相关解释后来通过代码比较,BFYX对应的是caffe中的NCHWB(batch), Y(height), X(width) and F(channels)....原创 2019-12-06 10:11:44 · 515 阅读 · 0 评论 -
Openvino 模型转换命令mo.py
openvino中用于将训练的模型转换成IR文件,可以使用mo.py脚本该脚本位于:/opt/intel/openvino/deployment_tools/model_optimizer/mo.py查看其帮助信息:里面命令行参数较多,其中比较重要的参数为:-input_model: 为输入的训练的模型,如果使用的是caffe训练的模型则应该为XXX.caffemodel...原创 2019-12-05 17:09:51 · 4288 阅读 · 0 评论 -
OpenVINO InferenceEngine 之Grap file
OpenVINO 在推理中将网络拓扑结构,最终转换成Grap,以grap file形式发送到movidius中Grap file 文件格式为:ElfN_Ehdr +mv_blob_header + data形式其封装代码在BackEnd::serialize中,代码路径inference-engine\src\vpu\graph_transformer\src\backend\seria...原创 2019-11-12 11:19:51 · 473 阅读 · 0 评论 -
OpenVINO InferenceEngine framework
最近研究OpenVINO中的推理代码,大概总结以下框架,只是自己的理解原创 2019-11-12 11:01:51 · 354 阅读 · 0 评论 -
OpenVINO Inference Engine之GetAvailableDevices
在<学习OpenVINO笔记之Inference Engine Device Query API>中的查询设备用例中,有使用到查看当前有哪些设备可以上线接口GetAvailableDevices()函数,通过该接口流程可以查看对当前已上线的设备是怎么管理的,对后面移植openvino非常重要,过下源码对该流程进行分析。Core::GetAvailableDevices()对外...原创 2019-11-11 13:45:59 · 1454 阅读 · 0 评论 -
OpenVINO Inference Engine之LoadNetwork
在<OpenVINO InferenceEngine之Core类>之中只是简单了介绍了一下loadNetwork的整个流程,还没有涉及到真正的加载动作。如上文中所示,在加载网络之前需要首先加载具体的设备so,并找到动态so中的入口函数CreatePluginEngine,创建相对应的plugin engine,下面首先分析Myraid中的CreatePluginEngine函数Cr...原创 2019-11-10 17:02:58 · 2140 阅读 · 0 评论 -
OpenVINO InferenceEngine之FormatParser
目录FormatParser::Parse创建CNNetwork类获取所有Layer节点解析每层layer数据获取到Layer id获取到layer type获取layer name获取layer output解析input解析权重信息创建Layer获取创建器Createlayer创建generic layer保存layer保存输入层...原创 2019-11-10 12:34:17 · 739 阅读 · 0 评论 -
OpenVINO InferenceEngine之读取IR
目录CNNNetReader API列表CNNNetReader构造函数CNNNetReaderImpl构造函数xml网络拓扑文件结构CNNNetReader::ReadNetworkCNNNetReaderImpl::ReadNetwork读取xml文件获取网络拓扑文件版本获取解析器FormatParser::Parse解析xml节点数据验证该网络...原创 2019-11-09 12:31:16 · 3349 阅读 · 0 评论 -
OpenVINO InferenceEngine之CNNNet、CNNLayer、Blob介绍
OpenVINO IE模块对整个网络拓扑结构的管理主要是通过Net 和Layer,Data(Blob)进行管理的,看起来和caffe中的Net,Layer,Blob是一样的层次结构,是不是有点惊奇,技术总是相同的,只是每个框架具体的实现方式不一样,历史总是惊人的相似。废话不多说,看下OpenVINO的管理框架。ICNNNetworkICNNNetwork 类接口OpenVINO对整...原创 2019-11-08 15:10:32 · 2470 阅读 · 0 评论 -
OpenVINO InferenceEngine之Core类
最近因为项目需要,对intel openVINO的源码进行了解,以便为后面移植开发做准备。OpenVINO的源码在opencv的github主页上可以找到,最新的opencv 4.1.2已经全新支持了OpenVINO,意味着一个新的平台即将展开,并且在嵌入式领域,边缘计算等场景,movidius大有赶超英伟达的趋势,因特尔在AI上的发力今后几年不可小看,很有可能在今后几年内占有一席之地。废...原创 2019-11-07 17:16:42 · 3365 阅读 · 0 评论 -
ubuntun 16.04 AttributeError: type object 'Callable' has no attribute '_abc_registry'
ubuntun 16.04 python 升级到3.7遇到各种坑其中在openvino 跑模型时遇到以下错误:root@magicdepth-OptiPlex-7010:/opt/intel/openvino/deployment_tools/model_optimizer# python3 mo.py --input_model INPUT_MODELTraceback (most ...原创 2019-09-02 16:47:21 · 4055 阅读 · 1 评论 -
[ ERROR ] Can not init Myriad device: NC_ERROR
今天在升级openvino 到R3.1时,使用的是Interl Movidius计算棒,验证安装时跑官方的例子./demo_security_barrier_camera.sh -d MYRIAD遇到一下错误:起初还以为是硬件问题,编写了一个query test用例,具体用例见:https://blog.csdn.net/weixin_42730667/article/det...原创 2019-10-28 16:13:25 · 3543 阅读 · 1 评论 -
IntelAI开发平台OpenVINO
OpenVINO为英特尔推出的一套深度学习开发平台,支持各种流行的网络框架,包括官方给出了基于OpenVINO 上百种优化过的模型,大大较少了 深度学习模型开发的难度(当然也会降低入门门槛),加快产品开发进度。OpenVINO是因特尔加大对AI市场领域的投入的结果。在Intel提供的硬件平台上提高了深度学习的性能开发出统一的基于CPU,GPU,FPGA等API,减少开发难度,当然也封装了底...原创 2019-08-15 11:24:59 · 1127 阅读 · 0 评论 -
OpenVINO主要工作流程
OpenVIVO主要工作流程如下图:主要流程如下:1:根据自己的训练模型需要配置Mode Optimizer.2: 根据设置的模型参数运行Model Optimizer,生成相对应的IR(主要是xml和bin) xml-主要用来描述网络拓扑结构 bin-包括生成的weights and biases 二进制数据3: 在实际应用场景种使用Infe...原创 2019-08-15 15:23:48 · 1929 阅读 · 2 评论 -
学习OpenVINO笔记之Inference Engine
Inference Engine是OpenVINO具体实施单元,支持CPU,GPU,FPGA,Movidius,GNA等因特尔开发的硬件平台,并提供可操作API,API为C++接口,也支持python.Inference Engine libInference Engine最核心的的lib为:linux:libinference_engine.sowindow OS:infer...原创 2019-08-15 16:49:17 · 9197 阅读 · 0 评论 -
Intel OpenCL + Ubuntu安装
因为项目采用Intel开发平台,需要安装Opencl,注意Intel 的OpenVINO开发平台并没有包括Opencl安装,另外安装Intel Opencl SDK. 注意作者本人环境是Ubuntu 16.04,操作系统不是安装到虚拟机环境中,因为虚拟机不能访问到GPU硬件资源OpenCL Base on CPU or GPU因特尔的opencl sdk CPU和GPU是分开的,如下图所示...原创 2019-08-20 19:24:02 · 6647 阅读 · 3 评论 -
学习OpenVINO笔记之Inference Engine Device Query API
Device Query API是OpenVINO在R2版本时整合引入新的API,主要可以用来查询不同设备属性和配置参数,可以让开发者更加了解设备配置,使用起来更加方便。R2 API与 R1版本相比较,因特尔做了比较大的整改,使用R1开发的程序在R2版本中跑不起来,因为Interence Engine整个工作流程,加载模型API都做了整个,以下时两个版本区别:API类别 R1 R2...原创 2019-08-16 16:19:25 · 3420 阅读 · 0 评论 -
OpenVINO Inference Engine之custom Layer自定义算法(VPU版本)
OpenVINO不仅支持广泛的已知深度学习架构(Caff,TensorFlow等),还支持用户自定义CNN 算法,拥有良好的可扩展性。要使用用户自定义功能就要使用到Inference Engine Kernels Extensibility扩展功能,不仅支持硬件CPU,GPU加速还支持VPU版本加速,本节主要讲述VPU版本实现的过程要实现用户自定义版本功能,首先需要熟悉opencl并行计算编程...原创 2019-08-29 18:04:10 · 1696 阅读 · 1 评论 -
OpenVINO 2019 R2.0 Custom Layer Implementation for linux(1)
OpenVINO除了支持比较流行的Caffe等深度学习框架,还支持用户自定义网络Custom Layer层。Custom LayerOpenVINO的Custom Layer的实施包括Model Optimizer 和 Inference Engine两个部分Model Optimizer的主要作用是在构建IR之前,会搜寻已知每层网络,该网络中包含输入模型拓扑,并优化该模型,最终生成I...原创 2019-09-04 10:33:24 · 540 阅读 · 0 评论 -
OpenVINO 2019 R2.0 Custom Layer Implementation for linux(2)
在上节主要是讲述了OpenVINO 整个custom layer流程,官网中给出了基于CPU和GPU整个实现用例过程,用例链接该用例主要是在custom layer中实现一下公式:整个流程主要如下:设置环境变量source /opt/intel/openvino/bin/setupvars.sh这个是使用openvino中都需要设置的,最好设置到启动脚本~.barshrc...原创 2019-09-26 11:09:00 · 633 阅读 · 0 评论 -
因特尔计算棒(Intel Movidius Necural Compute)
Intel Movidius Necural Compute(NCS)为因特尔开发的 轻巧,无风扇,深度学习设备,主要用于边缘计算,通过usb 3.0接口与主机或者开发板相链接, 支持window和ubuntu开发环境。与Intel® Movidius™ Myriad™ Vision Processing Unit (VPU)芯片性能相同,可以用在无人机,工业视觉,智能安防等领域,支持深度DNN网...原创 2019-08-13 17:00:44 · 1223 阅读 · 0 评论