[讨论交流]Jetson Nano 超长夜用评测 精华

7533浏览
查看: 7533|回复: 12

[讨论交流] Jetson Nano 超长夜用评测

[复制链接]
这是一篇来自我同事拿到Jetson nano后在漫漫长夜里撰写的一篇评测文章, 超级长。。。所以起名: 超长夜用评测。
如果自己想多了的童鞋,去面壁思过一下。
言归正传:
这板子的基本配置:
目前来说,我也算是国内比较早拿到板子的吧!
Jetson Nano 超长夜用评测图1
盒子背面还是有比较详细的一些介绍.
特别注意的是,这里提供电源有四种模式,分别是5V 2A(USB)/5V 3A(GPIO引脚)/5V 4A(DC接口)/5V 6A(所有电源IO反向供电),5V 2A是受限于USB自身,这就奇怪了,明显可以做Type-c接口,支撑更大功率?为什么没有做呢?
另外由于架构和核心多重原因,这个板子满功率大概是10W,剩余的功耗,是用于提供其他外设,比如以太网,USB等等.我实测如果使用华为5A USB线,也能启动带的动这个板子.(注:适配器标定5V 8A)
另外,如果使用DC供电,则必须禁用USB电源.(短路帽插上)
串口和音频口在不是很显眼的位置出现.
不过,标注是非常清晰的.(这串口还有流控?)
另一边还有40P的树莓派兼容排针,他的右边,当然就是POE排针了.
同样的,有很清晰的标注,这一点,比树莓派强.
为了更方便地散热,风扇接口也做了,就是不知道是否兼容大多数主板风扇定义.
在底部还留有电池座,应该是芯片内有RTC外设.
在核心板下方,还有MiniPCIE的接口.
想来可以接无线或者其他什么设备进来,看走线,走的是PCIE协议.
在主板有个非常特别的飞线电容.
核心板预留了EMMC位置.
可能以后会提供带EMMC版本?
当然,上图还有突兀之极的中文丝印,不过想到板子全是在国内生产,这样也不是很奇怪的事情.只是老外看得懂吗?
总体来说,用料是很扎实的,网口是EDAC的,核心板接插件是TE的.
除了主板,还包含一份简易说明,只是这个说明,有点简单.
这个板子必须要买的配件有哪些?首先,如果要做实时分析,摄像头是一定要的,可以是Pi官方摄像头,也可以是USB摄像头,只不过,如果是USB摄像头的话,程序要微调一下.屏幕,是必备品,因为开机配置如果不做的话,启动根本不会继续往下执行.
虽然,我很多时候也只是用来做分析,通常在终端环境下就够用了,但是如果没屏幕根本没法进行下一步,我测试过这个屏幕可以用:http://wiki.52pi.com/index.php/5-Inch-800×480-HDMI-TFT-LCD-Touch-Screen_SKU:Z-0053

当然,没有键鼠,也没法继续,这些,也要自备了.
最后,因为Jetson Boot时间比较长,所以,一开始是没画面的,大概要等30秒才能看到开机过程,并且,首次启动网络灯是不会闪的.(路由侧会闪烁),也不怎么发热.配置完整个过程还需大约20分钟,主要还是大多数资源在网络,且拔掉网线也会使劲重试到超时,还不如多等一会.
软件资源基本就是系统一个,Ubuntu 16.04 x64宿主机(包括nvidia-docker并下载有DIGITS.),其他东西基本没有.
至于其他软件?你就当他是ARMv8板子跑就是,CPU性能的话,肯定不是值得炫耀的部分,但是也不会差到哪里,毕竟还要靠CPU打包数据.至于从数据看,是比树莓派出彩的!
以图形部分,BCM2837 VideoCore IV:(28.8 GFLOPS) 对比 128 Maxwell GPU(472 GFLOPs),完全不是一个水平线.
最后补刀,如果要扩展配件,将是无底洞~ 欢迎入坑~ (已经通过买各种模块板子,至少是5位数水平了吧.)
测试软件:
很幸运的是,由于Jetson Nano出生比较晚,所以JetPack是预装在系统里面了.但是,系统也真的大,以至于我烧了1个小时以上.建议大家有条件,还是买个更快一点的TF卡,不然会拖后腿的.
另外这个比较挑卡,我这里有好多不同品牌的卡,结果只有一个能启动?
JetPack大概就是TensorRT/Caffe等各种神器集合,也算是CUDA的一个中间件.
废话太多了,太多了,下面马上….上….前奏.主要是实现物体标记和物体识别.大家接触了很多CNN相关的东西,所以对这两个肯定也不陌生.至于基础的方程预测之类的,官方没有给出例子,当然,这些自己写也很简单.
先安装cmake,下载需要的源.
[mw_shl_code=shell,true]$ sudo apt update
$ sudo apt install cmake
$ git clone --recursive https://github.com/dusty-nv/jetson-inference
$ cd jetson-inference
$ mkdir build
$ cd build
$ cmake ../[/mw_shl_code]

嗯,这个过程很漫长,因为下载大量的软件.如果你网络可以直接访问英伟达的网站,那可以直接cmake,如果不能的话.就需要处理一下,至于怎么做,就不方便说了,大家肯定有办法.
下载过程如下图.(大约1.5GB+数据要下载,根据网速不同,所需时间也不同,Jetson Nano配备的是千兆网卡)
cmake完成后应该如此:
接下来make编译,但是产生了很多警告,这类警告只是编码规范问题,不影响程序结果.
通过sudo make install完成安装.
完成后,你得到了一个支持GOOGLENET/GOOGLENET-V12/ALEXNET网络框架的CUDA优化的机器学习支持库.
先试试图像分类,目前用的是默认训练好的库.

[mw_shl_code=shell,true]$ cd jetson-inference/build/aarch64/bin
$ ./imagenet-console bird_0.jpg output.jpg[/mw_shl_code]

运行过程日志也是有输出的,第一次运行会比较慢,因为神经网络第一次加载时候需要解释.后面会讲到如何构造自己的神经网络训练结果包,这个包也就是丢到Jetson上面用的.
嗯,判断准确度还可以,他认为这个图是American robin,实际上他肯定不止一个结果,只是显示了最可信的结果出来.
但是由于这个库可能是训练不太好,我上传了个苹果,识别出来是石榴?
而其他候选结果,分别是无花果>澳洲青苹>橙子>七叶树.
不过,处理速度确实很快,可见,直到输出层也只需要80ms,相对于在树莓派上来做,都要用秒来衡量的.
这个程序还是开源,代码也不难:https://github.com/dusty-nv/jets ... magenet-console.cpp
而特定物体查找的例子,跟这个也差不多.

[mw_shl_code=shell,true]$ ./detectnet-console peds-001.jpg output.jpg facenet[/mw_shl_code]

从返回结果看到,捕获了3个对象以及他们的坐标.
结果是这样的.
但是当我随机在互联网上找到另一张图时,表现就差了一些了,也许还是训练不足的原因.
而且,目前也只有几个模型,更多,还是去训练吧.(注意看classes,就是能识别的类)
既然训练不足,不能满足现状的话,只能使用DIGITS重新训练了.
但是,训练只能在PC上做,做好之后,把训练结果变成一个压缩包放在SD卡上,实现离线识别.至于为什么不用开发板直接跑识别,我觉得主要问题不在性能,而在储存上(带宽/容量).
记得Movidius上也是如此,先在PC上训练,再最终训练结果写入棒子(本来训练结果就比较小,训练集比较大),然后实际使用就可以了.
不过,有一点特别要注意的是,nvdia-docker中绑定的路径,才是真正的操作路径.而非官方git中给出的参考路径形式,如下图,目录是/data下的ilsvrc12目录.
只要训练之后,下载训练后的结果层次,就可以使用了,当然也可以自己添加训练数据,目录中的形式表示得很明白,最后还可以先在PC上测试.
下载的训练结果,复制到Jetson Nano中解压,指定NET环境变量之后,就可以开始使用了.由于这些数据试验结果也是没什么差别的,所以就不再重复了.
[mw_shl_code=shell,true]NET=networks/GoogleNet-ILSVRC12-subset[/mw_shl_code]
如果真要得到更准确的数据,还需要自己真正的找一堆数据来分类,让学习结果更靠谱.
其他方面来说,系统是基于ARMv8的,真正的64位系统.
从sysbench结果来看,CPU性能大约是30倍于树莓派3B Plus @ ARMv7,主要得益于DDR4,CPU内核较好,且使用64bit指令集.
在连续执行识别操作,并运行stress耗尽CPU性能,再观察内部温度传感器,竟然如此凉快?当然,也许是因为大散热器的原因,但是,实际温度依然在缓慢上升,在实际使用中,最好是配备散热器的.
5分钟后的温度结果.
另外系统中配备了很多针对NV GPU优化的软件,这也是一大亮点.
并且是Unity桌面系统,尤其漂亮,只是比较吃GPU.
还内置了Docker,Python 3,Cuda支持,OpenGL支持,OpenCV支持,谷歌浏览器,文档编辑器,GCC7等,可以看作是比较完整的Ubuntu发行版.16G的TF写入后预计剩余空间都不足1G,推荐使用32G以上或者外挂储存.
如果给他定位成高端树莓派,那还是不值当的,毕竟人家擅长的是GPU啊.
最后来一个功耗实测,共同的测试条件:
  • 无USB设备
  • 无额外配件
  • 以太网有线连接(10Gbps)
  • SSH登录
  • 使用DC接口供电

测试结果,满载时为死循环识别图片(GPU)或使用stress耗尽性能(CPU):
  • 空载:0.533A @ 5.1V
  • CPU满载,GPU空载:1.117A @ 5.1V
  • GPU满载,CPU空载:2.133A @ 5.0V
  • CPU,GPU满载:2.838A @ 5.0V
  • CPU,GPU满载,且接入HDMI屏幕,HDMI屏幕独立供电:3.017A @ 5.0

yoyojacky  初级技匠
 楼主|

发表于 2019-5-30 15:35:05

本帖最后由 yoyojacky 于 2019-5-30 15:36 编辑

还有一个开箱视频。哈哈,最简单的开箱视频。请忽略我的处理过的音频。。哈哈
回复

使用道具 举报

KIKIYA  管理员

发表于 2019-5-31 12:00:20

虽然我完全看不懂 不过字这么多 应该是很厉害把
回复

使用道具 举报

gada888  版主

发表于 2019-5-31 16:08:45

DF商城什么时候引进这个板呀。望眼欲穿了。
回复

使用道具 举报

yoyojacky  初级技匠
 楼主|

发表于 2019-5-31 16:51:22

KIKIYA 发表于 2019-5-31 12:00
虽然我完全看不懂 不过字这么多 应该是很厉害把

没事,看不懂多看看,时间长了就都懂了。
回复

使用道具 举报

yoyojacky  初级技匠
 楼主|

发表于 2019-5-31 16:54:55

gada888 发表于 2019-5-31 16:08
DF商城什么时候引进这个板呀。望眼欲穿了。

为啥不用PYNQ, 小粉红。。。
回复

使用道具 举报

gada888  版主

发表于 2019-5-31 17:48:56

PYNQ 不适合做AI项目,成本高,教程少。
回复

使用道具 举报

luna  初级技神

发表于 2019-6-3 10:36:37

还欠骑驴大大一篇稿子,啊啊啊啊啊……我去站墙角了
回复

使用道具 举报

安卓机器人  中级技神 来自手机

发表于 2019-6-3 22:53:16

yoyojacky 发表于 2019-5-30 13:55
这是一篇来自我同事拿到Jetson nano后在漫漫长夜里撰写的一篇评测文章, 超级长。。。所以起名: 超长夜用 ...

这个一定玩学
回复

使用道具 举报

qq819287927434  中级技师

发表于 2019-6-3 22:58:12

这个板子关注好久了,但是没有玩过这类东西,一直不敢下手,我觉得或许先把英语学好更好
回复

使用道具 举报

Mandy  见习技师

发表于 2019-7-13 10:50:44

蛮好的
回复

使用道具 举报

yoyojacky  初级技匠
 楼主|

发表于 2019-12-31 02:17:29

luna 发表于 2019-6-3 10:36
还欠骑驴大大一篇稿子,啊啊啊啊啊……我去站墙角了

一晃要 2020 年了....
回复

使用道具 举报

yoyojacky  初级技匠
 楼主|

发表于 2019-12-31 02:21:39


恩,谢谢~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail