幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

米尔嵌入式i。MX6ul入门级板卡的神经网络框架ncnn移植

  本篇测评由电子发烧友的优秀测评者ALSET提供。
  电子发烧友网发布了一款试用产品:米尔MYDY6ULXV2开发板,基于NXPi。MX6ULi。MX6ULL处理器,该开发板被米尔称之为经典王牌产品。本次测试目标是在此开发板上进行神经网络框架ncnn的移植与测试开发,测试ncnn在此开发板上的性能与应用测试。
  01。hr什么是ncnn
  ncnn是腾讯优图推出的在手机端极致优化的高性能神经网络前向计算框架。也能够在移动设备上的高性能神经网络前向计算框架。ncnn从设计之初深刻考虑移动端的部署和使用。无第三方依赖,跨平台,其中手机端cpu的速度快于目前所有已知的开源框架。
  基于ncnn,能够将深度学习算法轻松移植到手机端和移动设备上高效执行,开发人工智能应用。以腾讯内部应用为例,ncnn目前已在QQ,Qzone,微信,天天P图等上得到应用。
  ncnn支持大部分常用的CNN网络:ClassicalCNN:VGGAlexNetGoogleNetInception
  PracticalCNN:ResNetDenseNetSENetFPN
  LightweightCNN:SqueezeNetMobileNetV1V2V3ShuffleNetV1V2MNasNet
  Detection:MTCNNfacedetection
  Detection:VGGSSDMobileNetSSDSqueezeNetSSDMobileNetV2SSDLite
  Detection:FasterRCNNRFCN
  Detection:YOLOV2YOLOV3MobileNetYOLOV3
  Segmentation:FCNPSPNetUNet
  腾讯优图实验室是主要研究计算机视觉技术,ncnn的许多应用方向也都在图像方面,如人像自动美颜,照片风格化,超分辨率,物体识别。
  腾讯优图ncnn提供的资料显示:对比目前已知的同类框架,ncnn是cpu框架中最快的,安装包体积最小,跨平台兼容性中也是最好的。以苹果主推的CoreML为例,CoreML是苹果主推的iOSgpu计算框架,速度非常快,但仅支持iOS11以上的iphone手机受众太狭窄。非开源也导致开发者无法自主扩展功能。
  02。hrncnn功能简介
  ncnn支持卷积神经网络,支持多输入和多分支结构,可计算部分分支无任何第三方库依赖,不依赖BLASNNPACK等计算框架纯C实现,跨平台,支持androidios等ARMNEON汇编级良心优化,计算速度极快精细的内存管理和数据结构设计,内存占用极低支持多核并行计算加速,ARMbig。LITTLEcpu调度优化。
  支持基于全新低消耗的vulkanapiGPU加速整体库体积小于700K,并可轻松精简到小于300K可扩展的模型设计,支持8bit量化和半精度浮点存储,可导入caffepytorchmxnetonnx模型支持直接内存零拷贝引用加载网络模型可注册自定义层实现并扩展。
  ncnn与同类框架对比
  03。hr在i。MX6ull上移植编译ncnn
  工程地址:
  githubhttps:github。comTencentncnn从工程的readme文件看,该工程已经支持很多嵌入式CPU的架构,其中就有arm32位版本。
  既然支持arm32位,那么ixm6ull处理器也应该支持,即着手编译MYDY6ULXV2开发板上的版本。
  1。从github上拉取ncnn源码
  在主机上执行命令:
  Sudogitclonehttps:github。comTencentncnn。git
  可见是一个cmake工程,那么尝试cmake编译。
  2。初次使用camke编译
  先进入ixml6ull的SDK下,切换到交叉编译环境,然后创建build目录,进入build目录下,执行cmake命令
  cmake。。
  从输出信息上看cmake失败,查看cmake日志,发现错误原因是cmake在生成开发板的makefile文件时,需要指定使用的编译工具链。
  3。添加imx6ull开发板的编译配置
  根据脚本的过程,在toolchains目录下,有很多其它开发板的编译配置文件,参照其它开发板的配置文件,添加一个该开发板的配置文件。
  文件名:armpokylinuxgnueabi。cmake
  内容如下:set(CMAKESYSTEMNAMELinux)set(CMAKESYSTEMPROCESSORarm)set(CMAKECCOMPILERarmpokylinuxgnueabigcc)set(CMAKECXXCOMPILERarmpokylinuxgnueabig)set(CMAKEFINDROOTPATHMODEPROGRAMNEVER)set(CMAKEFINDROOTPATHMODELIBRARYONLY)set(CMAKEFINDROOTPATHMODEINCLUDEONLY)set(CMAKECFLAGSmarcharmv7amfloatabihardmfpuneonsysroothomelutherluoworkspacefslimxfb5。10gatesgarthsysrootscortexa7t2hfneonpokylinuxgnueabi)set(CMAKECXXFLAGSmarcharmv7amfloatabihardmfpuneonsysroothomelutherluoworkspacefslimxfb5。10gatesgarthsysrootscortexa7t2hfneonpokylinuxgnueabi)cacheflagsset(CMAKECFLAGS{CMAKECFLAGS}CACHESTRINGcflags)set(CMAKECXXFLAGS{CMAKECXXFLAGS}CACHESTRINGcflags)
  4。再使用cmake生成编译文件
  添加完该开发板的编译工具链后,就可以使用cmake来生成编译所需的makefile文件了。在cmake时,可以指定除了编译ncnn库外,还可以编译ncnn例子程序。命令如下:
  cmakeDCMAKEBUILDTYPEReleaseDNCNNSIMPLEOCVONDCMAKETOOLCHAINFILE。。toolchainsarmpokylinuxgnueabi。cmakeDNCNNBUILDEXAMPLESON。。
  查看目录下,已经顺利地生成了Makefile文件。
  5。使用make编译文件
  然后可以正式编译ncnn库和测试样例程序了。
  直接执行
  makej4
  就开始愉快地编译了。
  编译libncnn库文件成功,会继续自动编译examples下的例子文件。
  大约10多分钟,顺利地全部编译完成。
  在编译测试用例时,会出现库格式错误的提示,此时需要设置一下交叉编译环境下的库归档工具,系统默认使用的是armpokylinuxgnueabiar工具,这个工具产生的。a文件有问题,经过测试使用armpokylinuxgnueabigccar即可。
  只需要在执行切换交叉环境脚本后,再单独执行一下以下命令即可修改该问题:
  exportararmpokylinuxgnueabigccar
  再进行编译即可。
  6。查看编译结果
  编译完成后,在build目录下,可以看到benchmark目录,该目录下就是ncnn的基准测试工具,可以看到目标板执行文件已经编译出来。
  再进入到buildexample下,可以看到所有例程也编译出来了。
  04。hr板上运行测试ncnn
  编译完成把可执行文件与模型文件复制到开发板里进行测试。
  把buildbenchmark下的benchmark复制到开发板homerootncnn目录下,同时把工程根目录下的benchmark目录下所有文件也复制到开发板homerootncnn目录下,
  然后就可以执行benchmark执行文件来测试开发板的人工神经网络的计算能力。
  先把开发环境下目标文件系统arm目录下usrlib下的libgomp。so。1文件复制到开发板的usrlib下,这个文件是并行计算库,ncnn编译时用到了这个库,这个库在多核处理器上能够支持执行并行计算。然后再在本开发板执行benchmark,执行输出结果如下图:
  可见大部分的模型能够跑通了,有部分模型运行出现异常。
  从抛出的分值可以评估该开发板的神经网络推理计算能力了。
  这个分值是一个模型推理一次的耗时,所以数值越小意味着算力越强。考虑到这个开发板是一个armv7入门级的开发板,这样的性能已经超乎预料了。
  05。hr测试基于ncnn的应用
  这里在MYDY6ULXV2开发板上测试ncnn的应用例子,这里就用ncnn下的例程来做测试,在上面编译完example后,在build目录下会产生example的目标板的可执行文件。编译出来的例子程序如下,把他们全部传到开发板上。
  需要注意的是,除了ncnn的应用执行文件,在这些例子执行的时候,还需要模型和测试的资源文件,而这些文件体积都比较大,因此不能传送到开发板的系统目录上,需要单独存在扩展的存储空间上。
  经过观察板上的文件系统,发现有3。1G的空间没有使用,此时可以使用fdisk来格式化该空间,格式化成ext4格式,重启板子后,就可以看到这部分空间了,然后把ncnn的所有测试执行文件和资源文件传到该目录下,这样就够用了。
  在板上执行各个测试例子,会提示缺少相关模型文件和参数文件,这些模型和参数文件在这个github上面,下载相应的文件到当前目录下就可以。
  https:github。comnihuincnnassetstreemastermodels
  1。测试图片分类器
  准备被测试图片,test,jpg,传到上ncnn当前目录下
  并且下载好squeezenetv1。1。param和squeezenetv1。1。bin文件到ncnn当前目录下,然后执行一下命令:
  。squeezenet。test。jpg
  很快就输出识别结果,输出结果如下图
  输出结果前面的编号和分类号,具体可以参考:
  mageNet20121000分类名称和编号
  https:zhuanlan。zhihu。comp315368462
  但不知本测试模型所用分类的版本是否和这个一致。
  2测试图片内容多目标识别
  测试图片内容识别,先用上面的图,再使用squeezenetssd来执行。执行前先下载squeezenetssdvoc。bin和squeezenetssdvoc。param到板上ncnn当前目录下,然后执行:
  。squeezenetssd。test。jpg
  大约3秒左右输出结果如图:
  输出的分类编号,可见代码的定义:
  同时输出了识别结果图:
  再测试另外一张图:
  执行结果如下:
  输出识别结果图:
  上面的识别,因为输出的第二个目标被第三个目标遮盖,第二个识别为Dog,所以识别准确度还是比较高的。
  再测试了一张图:
  输出:
  识别效果也比较理想。
  06。hrncnn移植测试总结
  经过在MYDY6ULXV2开发板上,进行这次的ncnn移植测试,总体非常顺利,在移植中只需要针对开发板的编译器,修改添加相应的编译脚本即可顺利的编译ncnn库和所有例程。并不需要对代码做任何改动或者调整,因此过程很快,短暂的时间就可以完成ncnn这样一个神经网络框架在本开发板上运行起来。
  对ncnn的benchmark的性能测试来看,因为本开发板仅为armv7单核处理器,处于入门级的一款开发板,能跑出这样的成绩已经出乎意料。
  在对实际图像分类和图像内容识别测试中,其中图像分类仅百十毫秒就出结果,对多目标识别单张图在2秒左右,这对一些静态的环境下已经能够达到业务使用的需求了,再综合其硬件性能,可见效能比是非常高的。同时工程里还带有一些各种其它框架模型转化ncnn的工具,方便将其它模型转化到ncnn上来使用,非常方便。
  同时也测试出ncnn的良好的可移植性和对不同嵌入式硬件的支持较好,其它任何一个神经网络框架恐怕无法在这样一个系统上运行,因此也为这样一个有效的国产开源神经网络项目点赞。

收视率破1。5!京辽大战篮筐制胜,郭艾伦创纪录,杨鸣谈裁判尺CBA常规赛第二轮关注度最高的京辽大战落下帷幕,最终辽篮以2分优势险胜北京首钢,取得两连胜,也送给北京首钢开局两连败。这场比赛辽篮一度处于被动,第三节被对手拉开分差,落后首钢9……我国怎样评价转基因生物的安全性?来源:【中国农村网】我国开展转基因生物安全评价,遵循国际公认的理念和原则。主要原则有:(1)科学原则。对转基因生物及其产品的评价应建立在科学、客观的基础上,充分应用现代科……伟大10!世界杯冠军夜日本无缘,黑马遭绝杀,西班牙创2大壮举正文10月31日凌晨落幕的U17女足世界杯决赛中,大黑马哥伦比亚队第82分钟遭绝杀,西班牙队10夺得冠军。这场伟大的10过后,西班牙队创下两大壮举,一是夺冠,二是成为U1……转给老公看!好孕马上来受孕是男性生殖细胞与女性生殖细胞相遇的结果。因此,孕育健康宝宝,男性的责任少不了。临床中,常用男性生育力来评价男性繁殖后代的能力。医生们通过什么指标来判断男性的生育力?男性又该……Go语言sync。MapGo语言中的map在并发情况下,只读是线程安全的,同时读写是线程不安全的。如果想实现并发线程安全有两种方法:map加互斥锁或读写锁标准库sync。map(Go1。19新特……瑞表鉴赏之英纳格手表AR1020机芯保养序英纳格(ENICAR)起源于1854年一家古老的瑞士钟表手工制造作坊。ENICAR的名字,便是由RACINE家族,将其姓名倒转过来写而得名,籍以代表其家族百年以来代代相……安卓老大哥发布新机,232GB存储规格HTC作为曾经的安卓老大哥,可以说是一代人的青春回忆了,大家都用过HTC的手机吗,是啥经典型号?今年元宇宙一词火热的时候,HTC为了蹭热度,还推出过首款元宇宙手机,当然产品力表……爱过才知情浓我念着一个人,念了几十年。我曾经想,这辈子就这样吧,反正已经是这样了,默默想着也挺好,我深陷泥潭满身污泥,也未曾奢望过能走出来。但有一天他却伸了手拉了我给了我希望。他在我……01!新乡WTT世界杯,石川佳纯逆转取胜,14决赛静待孙颖莎北京时间10月27日,新乡WTT世界杯决赛正式开打,首个比赛日将迎来15场男女单打18决赛的比赛。中国选手王曼昱、王艺迪、林高远、孙颖莎、马龙、陈梦、王楚钦、陈幸同将悉数登场,……隔夜要闻美股收跌中概多上涨联储鹰派讲话掐灭美国债涨势马航坠机欲览更多环球财经资讯,请移步724小时实时财经新闻直播市场收盘:联储鹰派言论施压美股周四收跌11月17日美股成交前20:亚马逊公司今年裁员逾10万人热门……燃亮青春梦想东湖评论青春献礼二十大,奋进担当向未来青春由磨砺而出彩,人生因奋斗而升华。在喜迎党的二十大胜利召开之际,全国各地正在举办青春主题的多彩活动,或传递青春正能量,或讲述青年好故事,或表白祖国山海情,一帧帧温暖缱绻的记忆……购买InfortrendNVMeU。2全闪机型,免费获取软件InfortrendNVMeU。2全闪存解决方案,使得数据在企业的运营中发挥了巨大的作用。Infortrend普安科技GSU。2旗舰级全闪存搭载最新的IntelXeon处理器,……
翻译澳网热身赛斯娃贾巴尔领衔阿德2,张帅郑钦文替补第3第52022生机大会这是本人译自WTA官网的原文,原文标题:Swiatek,JabeurtoploadedentrylistforAdelaide2《斯瓦泰克,贾巴尔领衔阿德莱德第……一个人不幸福的本质,总在无效期待法国诗人兰波有句名言:生活在别处。这句话成了很多人生活的信条。永远不满足当下的生活,把希望寄托于别处未知的生活。所以时常听到这样的声音:小县城工作的人,……卡乔组合爆发,快船20分大胜!东部第一轰然倒下,双探花成配角绿军客战快船如果单论本赛季的战绩,以及相对应的状态而言,绿衫军显然是联盟当中最具战斗力的队伍。但是万万没有想到,遇到上赛季将他们踢出局的金州勇士,作为东部霸主的绿衫军,居……朝花夕拾拉帮套东北农村有一种人群,人们都叫他们拉帮套,就是一个女人两个丈夫,没有名头的那个就叫拉帮套。一般这样的人都是家里太穷,娶不上媳妇,而有的家的男人养家太艰难,有个人了帮着一起养……汝州访古风穴山佛爷洞!传说中的开元精舍所在地汝州访古风穴山佛爷洞!传说中的开元精舍所在地刘孟博文郭广杰配图佛爷洞民间俗称古风穴寺,位于汝州市区东北二十里许米庙镇白马石沟村西的山涧旁,清康熙《风穴志略景迹……广东科学中心恢复开放新展与阿凡达登场广东科学中心从今天(17日)开始恢复开放,推出海洋和珊瑚两个主题展览,邀请游客通过图片深潜入海探索。同时,电影《阿凡达2》也在科学中心的科技影院同步热映。广东科学中心恢复……罗湖发布强烈推荐!罗湖十条支持力度爆表,旅游产业迎重磅利好临近年底宝们的年假都休了没?带薪休假肯定少不了踏上旅途感受诗和远方罗湖又出大招了事关旅游产业各项补贴、各种扶持统统都有!力度空前……low点频出,偶像剧下架,大S和具俊烨的小甜蜜还能撑多久一张法院传票,又将刚刚退场的汪小菲逼上了战场。被网友群嘲,更被台湾媒体称作吃相难看的大S仍旧没有撤诉,汪小菲被迫就范支付电费,但是心有不甘的汪小菲用一句话彻底地撕下了大S的遮羞……黄山旅游丽江股份西域旅游,你看好谁这一生,大部分人都在追求诗和远方。3年疫情,远方的背影慢慢消失了,同时也带走了诗意的生活。好消息是,疫情终究接近尾声了。大部分城市,挨过了第一波冲击,在干咳中缓了过……米切尔上一场我们开局缺乏拼劲,这场我们从开始就拼今天,骑士以10590战胜独行侠。本场比赛,骑士球员多诺万米切尔出战37分钟,20投13中,其中三分球9投6中,罚球2投2中,得到34分3篮板4助攻1抢断。上一场比……徐杰3大数据远超赵继伟,男篮新帅破格选人,赵睿郭少也毫无悬念男篮徐杰得到重磅的认可,总体实力超越赵继伟,有望成为乔尔杰维奇,重点提拔的5大后卫之一。与此同时,杜锋主教练重用徐杰是很有道理的,而且背后也是有依据的,并不是部分球迷所说……全民k歌私密上传的歌曲别人能听到吗?全民k歌私密上传只有用户自己可以听,私密作品上传后别人是不能接听或评论的。设置私密作品的方法:全民K歌1、打开手机界面,找到全民K歌图标2、打开全民K歌……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网