您的位置 首页 电子技术

Jetson Nano b01国产开发套件测评

Jetson Nano b01国产开发套件测评-由于英伟达Jetson NANO官方套件严重缺货,图为国产套件将成为理想的代替方案。在此献上国产NANO套件测评,让更多的开发者朋友深入了解国产套件性能。

Jetson Nano是英伟达发布的一款小型人工智能(AI)计算主板,最大亮点是带有嵌入式领域相对高端的GPU,并且提供AI和计算机视觉(Computer Vision)的应用程序编程接口(API),可以直接用于注重低功耗的AI应用场景。

Jetson Nano自发布以来,在开源硬件圈子里的热度一向很高,但由于疫情导致全球物料短缺,一芯难求.Nvidia公司对于Jetson Nano开发板的产能急剧下降,市场基本上无货可买,有货的商家也将单价提到极高的价格.为了保证各位开发者能够继续使用Jetson Nano开发板进行各项科研工作,图为信息科技(深圳)有限公司结合Jetson nano开发板特性,综合各项性能,结合Jetson nano模块,自研载板,最终在不懈努力之下研发出了图为Jetson Nano国产套件,一比一大小还原Nvidia Jetson Nano开发板,可完美对接开发板的各种AI特性以及开发优势.本篇评测除了实事求是地展示图为Jetson Nano国产套件的各项性能特点,还将从入门指导角度尽力地为大家排除各种使用障碍。

图为科技

1.Jetson Nano核心模块硬件概况

GPU:NVIDIA Maxwell 架构,128 个 NVIDIA CUDA 核心

● CPU:四核 ARM Cortex-A57

● 处理器内存:4GB 64 位 LPDDR4

● 存储:16G EMMC

● 视频编码:一路4K@30p、或4路1080p@30、或两路1080p@60

● 视频解码:一路4K@60p、或两路4K@30、或8路1080p@30

● 摄像头:2 x MIPI CSI-2或USB或者网络摄像头

● 摄像头网络:千兆以太网

● 显示器HDMI 2.0 或 DP1.2

● UART、2x SPI、3x I2C、I2S、GPIOs

图为科技

图为Jetson Nano国产开发套件由核心板和载板组成,它们通过SO-DIMM接口连接,这种接口常见于笔记本内存。图为Jetson Nano国产开发套件使用的核心板与Nvidia Jetson Nano开发板的核心板不同,国产套件是采用带16g Hynix emmc5.1作为核心存储,官方套件则是采用sd卡作为核心存储.

eMMC (Embedded MulTI Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC在封装中集成了一个控制器,提供标准接口并管理闪存.eMMC的应用是对存储容量有较高要求的消费电子产品。2011年已大量生产的一些热门产品,如Palm Pre、Amazon Kindle II和Flip MinoHD,都采用了eMMC。

EMMC优点:

1.简化存储器的设计。eMMC是当前最红的移动设备本地存储解决方案,目的在于简化手机存储器的设计,由于NAND Flash芯片的不同品牌包括三星、KingMax、东芝(Toshiba)或海力士(Hynix)、美光(Micron)等,所以都需要根据每家公司的产品和技术特性来重新设计,而过去并没有技术能够通用所有品牌的NAND Flash芯片。

2.更新速度快;

3.加速产品研发速度。

相比于sd卡作为核心存储.emmc速度更快,稳定性更高,适应环境能力更强,更符合当前边缘设备的系统环境搭建.

2.供电与系统启动指导

首先,Nvidia开发板套件里是没有包含显示器、HDMI线和电源等部件,这些需要用户自己准备或购买。使用的电源为5v4a的DC电源或者Micro USB电源,板子上有个供电选择跳线帽,编号J48。当通过Micro-USB供电时,需要保证J48上的跳线帽断开,Micro-USB电源导通,DC电源切断;当通过DC接口供电时,需要保证跳帽接上,这个在实际使用过程中往往会造成使用者的疑惑,怀疑刚收到的设备有问题.但是在图为Jetson Nano国产开发套件上采用唯一DC供电,无需连接跳线帽,直接连接12DC电源适配器即可,在保证简单实用的前提下,相比Nvidia开发套件5v4a的输入更为稳定,面对大型模型时,也不会掉电压力。

图为科技

图为Jetson Nano开发套件的显示器支持HDMI接口和DP接口。目前市场上HDMI显示器已经比较普及,如果你的显示器只支持VGA的话,得考虑新买一台显示器。如果使用电视机做显示器用,现在市场上主流品牌的液晶电视都同时支持HDMI和DP。

图为科技

摄像头模块可以使用Jetson Nano推荐的LI-IMX219-MIPI-FF-NANO摄像头模块;也支持第三方的树莓派的Pi Camera V2模块。如果你已经有树莓派V2摄像头,可以直接使用。摄像头接到下图CAM0和CAM1接口。

图为科技3.性能测试

Jetson Nano应该算是阉割加降频的Jetson TX1。CPU方面去掉了big.LITTLE中的4个A53,GPU中则直接砍掉了一半的CUDA核心。其实4个A53对于TX1本来就很鸡肋,因为你并不能同时使用8个核心,只能按集群来切换。与TX1相比,Nano中的4个A57频率也从1.9GHz降到了1.43GHz。由于继续使用20nm制程,降频显然是降低功耗的另一主要手段。GPU频率从1GHz降到922MHz,变化不大,也与Switch SoC的最高频率一致。使用Ubuntu Benchmark Tools做了一些跑分测试。可以看出性能大致相当于2008年的主流CPU。                                

总的来说,Nano的CPU性能强于树莓派3B,与树莓派4相差不大。虽然GPU的472GFlops半精度浮点性能大概只有TX2的1/3,但也基本达到Intel HD Graphics 615集显的水平。再加上有CUDA加持,实际性能应该更强。那么树莓派能做的事,Nano都能做,树莓派做不了的事,Nano或许也能做。

3.1测试 TensorFlow

跑一段自己写的非线性回归代码, 速度还是挺快的, 使用 vi 新建 python 文件命名: tensorflowDemo.py然后复制以下代码进去。保存后使用 python3 tensorflowDemo.py 运行, 这段必须在图形化界面下运行,因为会出现一张图表。由于是 TensorFlow2 所以把 import tensorflow as tf 改成了 import tensorflow.compat.v1 as tf 和 tf.disable_v2_behavior(),即代码的前两句,如果是TensorFlow1 则为 import tensorflow as tf。

# -*- coding: utf-8 -*-

import tensorflow.compat.v1 as tf tf.disable_v2_behavior()

import numpy as np

import matplotlib.pyplot as plt

x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis] noise = np.random.normal(0, 0.02, x_data.shape) y_data = np.square(x_data) + noise

x = tf.placeholder(tf.float32, [None, 1]) y = tf.placeholder(tf.float32, [None, 1])

# 输入层一个神经元,输出层一个神经元,中间 10 个

# 第一层

Weights_L1 = tf.Variable(tf.random.normal([1, 10])) Biases_L1 = tf.Variable(tf.zeros([1, 10])) Wx_plus_b_L1 = tf.matmul(x, Weights_L1) + Biases_L1 L1 = tf.nn.tanh(Wx_plus_b_L1)

# 第二层

Weights_L2 = tf.Variable(tf.random.normal([10, 1])) Biases_L2 = tf.Variable(tf.zeros([1, 1]))

Wx_plus_b_L2 = tf.matmul(L1, Weights_L2) + Biases_L2 pred = tf.nn.tanh(Wx_plus_b_L2)

# 损失函数

loss = tf.reduce_mean(tf.square(y – pred))

# 训练

train = tf.train.GradientDescentOpTImizer(0.1).minimize(loss)

with tf.Session() as sess: sess.run(tf.global_variables_iniTIalizer()) for i in range(2000):

sess.run(train, feed_dict={x: x_data, y: y_data})

print(\”第{0}次,loss = {1}\”.format(i, sess.run(loss,feed_dict={x: x_data, y: y_data}))) pred_vaule = sess.run(pred, feed_dict={x: x_data})

plt.figure() plt.scatter(x_data, y_data)

plt.plot(x_data, pred_vaule, \’r-\’, lw=5)

plt.show()

图为科技图为科技3.2 YOLOv4 环境搭建和摄像头实时检测

因为用的是opencv4所以使用 yolo3编译可能回出错,可以换成 yolov4 或yolov4-TIny, 同时YOLO V4无论在精度和速度上都较YOLO V3有了很大的提升,为在性能受限的嵌入式设备上部署检测程序提供了可能。yolo v4和yolov4-tiny的区别是:tiny是yolov4 的压缩版,主要运行小算力 cpu 核心版本,在 jetso nano上使用tiny版帧率会比 yolov4提升十多倍。总的来说还是推荐使用yolov4-tiny,帧率提升很多,使用感会提升很多。

闲话少说,开始安装。

下载

git clone https://github.com/AlexeyAB/darknet.git 

配置

cd darknet

sudo vim Makefile #修改 Makefile

将下图标注中的三项值由0修改为1

GPU=1

CUDNN=1

OPENCV=1

 

图为科技

编译

在 darknet 路径下编译

make -j4 

放置权重文件

将github上下载好权重文件后,将权重文件yolov4.weights 和 yolov4-tiny.weights 拷贝至 darknet 目录下,

图为科技

测试

Yolov4 图片的检测

./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg # 简写版

./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg # 完整版 

图为科技图为科技

Yolov4 视频的检测(github 下来的data 里面并没有该视频文件,需要用户自行上传要检测的视频文件到data 文件夹下)

./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights data/123.mp4

图为科技图为科技

  总结

这个就是我们传说中的,英伟达AIOT的一款重量级产品 – Jetson Nano!

千万别小看这快板子,它可是可以跑Ubuntu 18.04, CUDA什么的一应俱全,并且具有4G显存的而且体积非常小的神器.这是一块性能非常强悍的板子,更重要的是软件资源非常丰富,你可以编译依赖库非常复杂的caffe,并且你还可以任意编译任何你的tensorrt加速的模型;这快板子的推理速度可以满足一些基本的需求。比如:

基于yolov3的人流和车流的检测;

基于MTCNN的人脸检测和比对(带人脸建库);

使用TensorRT加速onnx模型;

基于yolov3的手检测器等,

目前人工智能风口开始逐步进入落地应用阶段,更多产品希望能够将人工智能算力运用于实际终端,即实现所谓的边缘计算需求。从根本上来说近几年推动人工智能的核心在于深度学习算法,但是深度学习的推理加速离不开高速GPU的支持,而一般桌面PC或服务器级别的显卡(如英伟达1080Ti等)价格非常昂贵,不适合边缘计算需求,而且体积也过于庞大。因此,英伟达推出的这款嵌入式人工智能开发板Jetson Nano非常契合当前行业需求。

审核编辑:符乾江

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 图为科技

为您推荐

智慧路灯照明系统的应用为智慧城市的发展建设添砖加瓦

智慧路灯照明系统的应用为智慧城市的发展建设添砖加瓦

智慧路灯照明系统的应用为智慧城市的发展建设添砖加瓦-夜间的路灯不仅照亮了黑暗的街道,而且照亮了回家的道路。从街上望去,闪烁的路灯发出暖光,指引着我们家的方向。城市里的路灯就像“守护者”,给长途旅行回来的游客带来了极大的安全感。 当今,路灯智能控制时代的到来,极大地促进了传统路灯的人工机械化运行。虽然对此感到兴奋,但我们不禁要问:随着路灯智能控制的早期到来,除了改善路灯的运行模式,还能带来什么? 为城市交通提供安全保障 城市公共照明系统中的智能路灯在每个路

晶振在五种不同行业中的应用说明

晶振在五种不同行业中的应用说明-晶振在五种不同行业的应用-由TST嘉硕代理KOYU光与电子

几种不同的物联网控制APP模式

本文就简单介绍当前几种物联网控制APP模式,让大家了解几种不同的技术路线。\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

苹果稳坐全球可穿戴设备数量首位,占据日本市场超7成份额

苹果稳坐全球可穿戴设备数量首位,占据日本市场超7成份额

苹果公司占据2021年日本第四季度可穿戴设备71.5%份额,占据全球可穿戴设备市场34.9%份额。\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

如何用GPUDirect存储器如何缓解CPU I / O瓶颈

除了使用 GPUs 而不是 CPU 加快计算的好处外,一旦整个数据处理管道转移到 GPU 执行,直接存储就起到了一个力倍增器的作用。这一点变得尤为重要,因为数据集大小不再适合系统内存,而且 GPUs 的数据 I / O 增长成为处理时间的瓶颈。当人工智能和数据科学继续重新定义可能的艺术时,启用直接路径可以减少甚至完全缓解这个瓶颈。\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部