经过这两个月的学习使用,初入步了解了NCS的基本原理与WIN下的环境配置(习惯了liunx下折腾。。win的坑真的挺费劲的)经过对比测试,一代、二代ncs以及笔记本的APU以及近期进行相关资料的学习,针对下一阶段工作上的产品布局也会有相应的一些调整。试用过程中也遇到了些许问题,最大的就是win下用cmd的种种缺东西的问题了,总结起来就是终于理解我司工程师全部上ubuntu的原因了。
正文
一、背景介绍
本人是从事AI机器人解决方案相关岗位,可能本文并非硬核技术对比,单纯从一个方案从业者角度思考该问题。
二、开箱
申请到测试后一周左右快递就到了,工作关系挺早就接触到过NCS计算棒,自己也买过1代的。可惜一直因为岗位问题,没有下手写过或者跑通过demo。借助这次机会刚好学习下怎么使用openvino工具包跑ncs2。
一如既往使用顺丰快递,靠谱稳定,不过可惜到的第一天顺丰没给我说直接丢快递柜了,第二天才看到。
当时以为是自己买的别的小玩意到了,没想到这么小的盒子给力这么厚的泡沫保护,以及这么大的箱子。也太破费了。
主视图,NCS2和一代长得差不多,一如既往INTEL的简约风格,印象中去年第一次见到这玩意没仔细看还以为是ssd或者是什么cpu。
打开盒子就是包材、不用看的说明书、长得贼像u盘的 NCS2计算棒。
拿手里挺小巧,想当初在某东采购一代的样品的时候,在评论区见过一个大哥以为是u盘买回去才发现不对劲。之前带公司的产品出去做展会的时候搭载的一代计算棒,经常被问道是u盘还是无线图传。。。。。。
一代二代对比~个人还是喜欢1带的风格,可能是看多是顺眼吧(虽然没开发过这玩意,但是经手大概一两百根了。。。)
上电子秤量一下,一代二代重量基本没啥变化,尺寸也没变,之前用一代棒子的产品,应该硬件可以无缝切换至二代,但是软件估计要改动比较多。
三、搭建环境
2、OPENVINO安装
建议安装使用官方教程~本文只是本人再本次环境中的安装过程。
官方链接:https://docs.openvinotoolkit.org/2020.1/_docs_install_guides_installing_openvino_windows.html#set-the-environment-variables
为了方便对比,直接在win10安装openvino,直接在官网下载安装,同时参看官方教程
选择当下运行环境系统
这里记得要登陆下intel账号,虽然是免费软件,但是openvino需要有个授权
选取合适版本后进入下载界面
版本选择了2020r1,听说后续版本不兼容一代计算棒
官网直接下有点慢,使用free-down-manager下载
用的amd 的笔记本所以硬件提示缺intel配件,ubuntu下成功跑起来过,win10应该没事,同时这一步可以记录所缺少的环境依赖。
继续安装~~
继续安装~~
跟据之前提示安装所需环境,下个vs基本再里边点选就可以了。
ps如果是纯净版本需要装py3.6
vs环境按照官方教程配置(vs默认装的是3.7)
如果没有配置path 官方教程中复制代码的时候记得关闭自动翻译。。。。我卡里半个多小时百思不得其解为啥一致失败,后来发现是自动翻译忘记关
win10下环境变量官方教程写的很简略,找到一个专门教怎么配置变量的教程~
https://www.intel.cn/content/www/cn/zh/support/ar
ticles/000033440/boards-and-kits/neural-compute-sticks.html
四、对比测试
PS:在运行测试程序和开发之前。。win用户请先安个cmake
https://cmake.org/download/
按完环境老报错才发现cmd 木有这玩意。。。。习惯了玩同事配好环境的机器人的我好伤心明天给同事加个可乐。
配置模型优化器
cd C: Program Files(x86) IntelSWTools openvino deployment_tools model_optimizer install_prerequisites
install_prerequisites.bat
使用验证脚本来验证您的安装
cd C: Program Files(x86) IntelSWTools openvino deployment_tools demo
一般没事,如果报错 支持单个引擎重装,官方教程有不赘述了。
测试结果~
命令:
cd C:"Program Files (x86)"IntelSWToolsopenvinodeployment_toolsdemo
.demo_security_barrier_camera.bat -d MYRIAD
NCS1 10-13FPS
命令:
cd C:"Program Files (x86)"IntelSWToolsopenvinodeployment_toolsdemo
.demo_security_barrier_camera.bat -d MYRIAD
命令:
cd C:"Program Files (x86)"IntelSWToolsopenvinodeployment_toolsdemo
.demo_security_barrier_camera.bat
五、总结
一定不要轻易开新坑、、、、尤其是突然会007加班的季节。 原本公司产品是在ubuntu16系统上跑ros的机器人,工程师消耗了海量的头发完成适配和检测功能。个人当时觉得想试win下调用接口跑跑测试,没准以后能整个win控制的小车、、、真的是2young了。
NCS系列的详细资料就不在这里复制粘贴了,感兴趣的小伙伴可以看官方的文档。上家公司的产品是和这玩意有关,就用从业者的角度大概讲下这个产品。
经过大概每种芯片跑10次 取平均值的截图。 不得不说xxx yes 3500u跑的比8i5(nuc用的那个块多了)。
言归正传,一二代芯片的性能提升还是蛮厉害的,加上功耗变低,使得在低算力或者低功耗的边缘计算场景下,变得十分有竞争力。前两天公司的机器人样机被带走测试双芯片的ncs2(m2口的)。以后在低功耗领域可能会出现很多类似树莓派、3399之类的板子加vpu的方案了。
NCS系列芯片属于低功耗算力还行的产品,5w-7w的功耗设计,在跑类似边缘计算等场景的时候算力能杠一杠cpu。所以在一些机器人、无人机等领域有所应用。除了u盘形式封装之外,还有裸片子和m.2接口的。
见过比较正常的应用:
1、无人机(小无人机上加芯片实现人脸识别、手势识别某d的小无人机用过)
2、无人船、无人车、机器人等加m.2或者u***的做识别或者算力补充
见过比较另类的应用:
1、吃鸡外挂。。。这玩意跑边缘芯片挺给力的,一般的反作弊也想不到。
这个芯片最早来源于一个Movidius公司,后来被收购了,收购后推出的二代棒子用的芯片 Movidius x。现在最新的软件包以及不支持1代,所以后续安装教程会找一个支持1、2代的做对比算力。
ps这玩意最开心的是支持并行计算、类似于显卡交火。
感谢德赢Vwin官网
论坛给了这次机会能对比测试下这个新的产品。