2019 年 3 月, NVIDIA 在 TX2 和 Xavier 获得成功后推出了最初的低配版 Jetson NANO 开发者工具包,广泛应用于机器人、零售、工业、农业和人工智能 OT 等各个领域。2020年10月,NVIDIA 宣布了 Jetson Nano 2GB 开发者套件 ,价格为 59 美元,这使得它对于学习人工智能和机器人技术来说更加实惠。通过 128 核 NVIDIA Maxwell GPU 和 64 位四核 Arm A57CPU 提供 472 GFLOPS 的算力,对比 Jetson 系列的高级版 AGX Xavier 提供 32 TOPS 的算力,约是后者的 1/60(FLOPS和OPS是有差异的算力概念,姑且等同视之),可以使用一些小规模、并且优化过的框架和网络进行推理,并应用于算力要求较低的边缘嵌入式AI设备中,如小型移动机器人、人脸签到打卡、口罩识别、智能门锁、智能音箱等。相校其他单板计算机架构配置较低(如 A53 的 CPU 对比树莓派4的 A72),但独特优势是在低价位上具有专用 GPU 加速处理器,CPU可以通过CUDA框架在GPU上调用CUDA功能,从而实现并行计算的可能性。

jetson-nano-enthusiast-2gb-dev-kit-2c50-d@2x.jpg

在本站的数据科学(DS)栏目中介绍了《Jetson Nano 人工智能开发者套件》的硬件信息,以下准备以“无头模式”来动手开箱使用 Jetson Nano 2GB Developer Kit,全新套件包括载板,以及已经安装在载板的模块(P3448-0003)。

nvidia-jetson-nano-module-standing-2c50-p@2x.jpg


硬件准备


jetson-nano-2gb-batuu-dev-kit-3c33-t@2x.jpg

必需

  • Windows PC
  • Jetson Nano 2GB Developer Kit
  • Micro-USB 数据线
  • 5V⎓2A USB-C 电源
  • 32 GB 以上 UHS-1 卡
  • 网线

非必需

  • HDMI 显示器及线材
  • USB 键盘及鼠标
  • AC8265 2.4G/5G双模网卡,同时支持蓝牙4.2
  • USB 摄像头或 MIPI CSI-2 摄像头
Jetson Nano开发者套件提供Jetson GPIO Python库等实用工具,并且可兼容很多来自 Adafruit 和 Raspberry Pi 的常见传感器和外围设备,如可以使用 Raspberry Pi 的 MIPI CSI-2 摄像头(基于原生支持的Sony IMX219传感器,Camera Module v2),以及支持包括 USB、以太网相机接口。更多硬件适配可查看官方 Jetson 生态系统

系统烧录


在 Jetson 下载中心,有 Jetson Nano Developer Kit SD Card Image(jetson-nano-sd-card-image) 和 Jetson Nano 2GB Developer Kit SD Card Image(jetson-nano-2gb-sd-card-image)两个开发者套件 SD 卡镜像(Version 4.5.1),虽然二者文件尺寸一样,但可能并不兼容,需下载后者。

1、使用 SD 协会的 SD Card Formatter 格式化 64G microSD 卡,官方建议最小采用 32 GB UHS-1 卡;
2、使用 Etcher(当然 Win32DiskImager 也很经典)将 SD 卡镜像写入 microSD 卡,将卡插入套件;
3、USB-C 接口处使用 5V⎓2A 的高品质电源为开发者套件供电,启动并设置开发者套件。

20191230150756185.gif

官方的这个开机动画很流畅,但这里采用“无头模式”,没有显示器可看。


启动并设置


Windows PC 连接到以 USB-C 通电启动的开发者套件之 Micro-USB 接口。

打开设备管理器 > 端口(COM 和 LPT)以查找“USB 串行设备”的 COM 端口号,需要在 USB 串行设备条目属性 > 详细信息中选择硬件 Id 找到 VID 0955 和 PID 7020,以确认开发者套件作为 USB 串行设备的 COM 端口名称。

在 Windows PC 上打开 PuTTY,在左侧“Category”窗格中选择“Session”,右侧Connection type 选择 Serial,在“Serial line”和“Speed”中分别输入 COM 端口名称和“115200”。

单击“Open”以连接到开发者套件控制台。

Getting_Started-Jetson_Nano_Developer_Kit-COM_port-3.png

Getting_Started-Jetson_Nano_Developer_Kit-PuTTY.png

初始设置,包括:

  • 查看并接受 NVIDIA Jetson 软件 EULA;
  • 选择系统语言、键盘布局和时区;
  • 创建用户名、密码和计算机名称;
  • 可选择配置无线网络;
  • 选择应用分区大小,推荐使用建议的最大大小;
  • 推荐建立 SWAP 空间。

001.JPG

002.JPG

003.JPG

004.JPG

005.JPG

006.JPG

007.JPG

008.JPG

最后,在 PuTTY 中看到标准 Linux 命令行提示符,可见,系统基于Ubuntu 18(尚不支持最新的Ubuntu 20)。

插上网线,更新系统。

sudo apt update 
sudo apt upgrade

图形界面


安装 xrdp 或 VNC,以使用 Windows 远程桌面连接访问系统的图形界面。

sudo apt-get install xrdp vnc4server xbase-clients

009.JPG

如果 xrdp 远程桌面连接窗口在登录后自动退出,解决方法:

1、sudo apt install xfce4
2、echo xfce4-session > ~/.xsession
3、touch .session
4、sudo vim /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前面加xfce4-session
5、sudo service xrdp restart

官方论坛中也有解决方案

Install xfce4
sudo apt install xfce4
Comment out the last two lines in /etc/xrdp/startwm.sh
Add the following line to /etc/xrdp/startwm.sh
startxfce4
Restart xrdp
sudo service xrdp restart

也有分析作以下解决方法

sudo vi /etc/gdm3/custom.conf
# AutomaticLoginEnable=true
# Automatic Login=[user1]

实际使用中,以下列顺序安装不会出现上述故障:

sudo apt install xfce4
sudo apt-get install xrdp vnc4server xbase-clients

官方建议是配置 VNC 服务器,如下:

USB 设备模式功能上位机访问 L4T-README 卷,包含三个 Linux for Tegra 帮助文档:

  • README-usb-dev-mode.txt #使用 USB 设备模式连接到主机PC
  • README-wifi.txt #使用命令行工具将Jetson连接到WiFi网络
  • README-vnc.txt #配置以运行VNC服务器

开发环境


Python

和标准 Ubuntu 一样,系统预装了python 2和3,但默认为 python 为2.7版本,更多学习项目需要使用 python 3.x,新建链接。

C/C++

CUDA 工具包为 C 和 C++ 开发人员构建 GPU 加速应用提供了全面的开发环境。通常,在产品模型设计阶段使用 python 进行算法开发,而采用 C++ 来开发最终的成品,可以安装 Code-OSS(嵌入式环境下的 VS Code)、Qt5等来完成开发任务,它们内置资源管理器功能以及丰富的第三方插件。

中文输入法

由于需要使用中文搜索以及书写必要的中文注释,还是推荐安装中文输入法。Jetson Nano 自带 ibus 中文输入法,需要配置环境并下载具体的输入法和调整语言支持。

TensorFlow & PyTorch

Jetson Nano支持TensorFlow、PyTorch、Caffe和MxNet等多种主流AI框架,同时能够并行运行多个神经网络来处理数据和驱动操作。作为深度学习的主流框架:TensorFlow 和 Pytorch 分别偏向于工程开发和学习

但是,系统并没有自带 TensorFlow 及 PyTorch 环境,需要自行安装。当然 NVIDIA 已经托管了各种开发容器,以及 pythonpipwheels 用于直接安装框架 TensorFlow。在复盘官方入门级深度学习教程 Jetson Inference(Hello AI World)的过程中,请谈到 PyTorch 的安装。

Jetson开发套件

Jetson开发套件JetPack SDK支持全Jetson系列模块,包含适用于 Linux 操作系统的最新 Linux 驱动包 (L4T) 以及用于深度学习、计算机视觉、加速计算和多媒体的 CUDA-X 加速库与 API。JetPack SDK 包含在官方镜像中,无需另外安装,目前主要包括以下组件(具体配置可安装Jtop查看,Jtop是Raffaello Bonghi 专门为 Jetson 系列制作的一款出色的调试工具,以查看Jetson的基本配置和状态):

  • TensorRT和cuDNN:用于高性能深度学习应用
  • CUDA:用于GPU加速计算等应用
  • Multimedia API package:用于相机相关的应用及传感器驱动开发
  • VisionWorks和OpenCV:用于计算机视觉开发

20210525130722.png
via - JETSON NANO DEVELOPER KIT User Guide(DA_09402_004 | January 15, 2020)


Jetson Inference


Jetson Inference(Hello AI World)是官方入门级深度学习教程,以体验Jetson的功能。重点介绍与计算机视觉相关的网络,包括使用TensorRT进行推理和使用PyTorch进行学习,以及实时摄像头的使用。包含了以下三个示例:

Classifying Images with ImageNet.jpg

Locating Objects with DetectNet.jpg

Semantic Segmentation with SegNet.jpg

Jetson Inference 的学习可参考《Jetson Nano 2GB 深入 Jetson Inference 项目》一文。


学习建议


要深入玩转 Jetson Nano 2GB Developer Kit,建议配置 Raspberry Pi 摄像头及 AC8265 2.4G/5G双模网卡,以及 NVIDIA JetBot 智能小车,并事先学习 Hello AI World 项目。

按照JETSON NANO DEVELOPER KIT User Guide(DA_09402_004 | January 15, 2020)的说法,NVIDIA® Jetson Nano™ 开发者套件是一款面向创客、学习者和开发者的人工智能计算机。用户指南还包括更多信息,建议充分阅读。

已经有很多人研究Jetson Nano,可以从网络社区获得支持,如技术专栏NVIDIA Jetson Nano 2GB 系列文章,甚至Embedded Linux Wiki也为Jetson Nano建立了丰富的一页维基

实际上,基于高效原则,推荐以附加显示器、键盘和鼠标的方式初始设置和应用;并且,Jetson Nano严重依赖有效的网络联接。

JETSON AI 课程和认证


通过 Jetson 开发人员套件以及NVIDIA 深度学习学院(DLI)提供的免费在线培训来亲自学习 AI。完成这些课程后,您将获得证书,以证明您在 Jetson 和 AI 开发方面的能力。

NVIDIA 提供两种认证途径(Jetson AI Certification Programs):任何人都可以完成的 Jetson AI 专家认证(Jetson AI Specialist Certification)以及面向教育工作者和讲师的 Jetson AI 大使认证(Jetson AI Ambassador Certification)。

版本更新


硬件

NVIDIA Jetson 单板计算机有了更丰富的产品线,最新的 Jetson AGX Orin 64GB 支持 CUDA 和 Tensor Core,AI 算力达到 275 TOPS。从 NVIDIA GPU 计算能力表可见,其计算能力(87)达到 GeForce RTX 4090(89)同等水平。《NVIDIA Jetson:适用于一切自主机器的 AI 平台》一文持续追踪 NVIDIA Jetson 硬件动态,如有更高算力需求的自主机器人开发等项目,可选择升级。

其他可参考的边缘AI竞争设备包括:

  • Intel Neural Compute Stick 2, $73.27
  • Google Coral USB Accelerator, $74.99
  • UDOO Bolt V8, $418.00

NVIDIA JetPack SDK

NVIDIA JetPack SDK 是用于构建端到端加速 AI 应用程序的最全面的解决方案。JetPack 为 Nvidia Jetson 模块上的硬件加速 AI 边缘开发提供了完整的开发环境。

JetPack 包括带有引导加载程序的Jetson Linux、Linux 内核、Ubuntu 桌面环境以及用于加速 GPU 计算、多媒体、图形和计算机视觉的一整套库。它还包括适用于主机和开发套件的示例、文档和开发工具,并支持更高级别的 SDK,例如用于流视频分析的 DeepStream、用于机器人技术的 Isaac 和用于对话式 AI 的 Riva。

JetPack 一直支持 Jetson Orin Nano 开发套件(包括2023年7月可见的最新版本JetPack 5.1.1)。您可以安装jetson_stats以查看JetPack的当前版本与JetPack版本存档对比,以确定是否需要更新。

#sudo pip3 install jetson_stats
#jetson_release

NVIDA Jetson设备支持OTA升级,详细参考Jetson Developer Guide的Over-The-Air Updates部分。


附:算力单位


Jetson Nano旨在为入门级边缘 AI 应用程序和设备提供支持。使用 Jetson Nano 开发套件,快速开始使用全面的NVIDIA JetPack™ SDK,包括用于深度学习、计算机视觉、图形、多媒体等的加速库。如需有进一步的学习和开发需求,您应该以关键硬件的算力入手了解更多的GPU。

算力是通过对信息数据进行处理,实现目标结果输出的计算能力。用于评估电脑效能的算力单位常用OPS和FLOPS,OPS是每秒操作次数(Operations Per Second),FLOPS是每秒浮点操作次数(Floating-point Operations Per Second)。两者可近似于相等,FLOPS比OPS稍大。

在OPS和FLOPS前面加上计数单位,则有以下可换算的算力单位。

  • MFLOPS(megaFLOPS)/MOPS(megaOPS):每秒一佰万(10^6)次运算;
  • GFLOPS(gigaFLOPS)/GOPS(gigaOPS):每秒拾亿(10^9)次运算;
  • TFLOPS(teraFLOPS)/TOPS(teraOPS):每秒万亿(10^12)次运算;
  • PFLOPS(petaFLOPS)/POPS(petaOPS):每秒千万亿(10^15)次运算;
  • EFLOPS(exaFLOPS)/EOPS(exaOPS):每秒百亿亿(10^18)次运算;
  • ZFLOPS(zettaFLOPS)/ZOPS(zettaOPS):每秒十万京(10^21)次运算。

一些AI硬件的算力:

  • NVIDIA Jetson Nano:472 GFLOPS
  • Rockchip RK3566(NPU):1 TOPS
  • INTEL Xeon Phi: 2.4 TFLOPS SP
  • Google Coral Dev Board(Edge TPU):4 TOPS
  • NVIDIA Tesla K40: 4.29 TFLOPS SP, 12 GB memory
  • NVIDIA Tesla K80: 5.6 TFLOPS SP (8.74 TFLOPS SP with GPU boost), 24 GB memory
  • Rockchip RK3566(NPU):6 TOPS
  • NVIDIA Tesla P100: 10.6 TFLOPS SP, 16 GB memory
  • NVIDIA Tesla V100: 15 TFLOPS SP (30 TFLOPS FP16, 120 TFLOPS Tensor ops), 12 GB memory
  • NVIDIA Jetson AGX Xavier:32 TOPS
  • Google TPU2: 180 TFLOPS Tensor ops
  • NVIDIA A100:312 TFLOPs
  • NVIDIA H100:1513 TFLOPs
  • AMD MI100:184.6 TFLOPs
  • AMD MI250:362.1 TFLOPs

NVIDIA GeForce RTX 4090是首款能(超频)提供100 TFLOP计算性能的游戏显卡。以下是一些消费级游戏显卡的浮点性能估值。

  • NVIDIA GeForce RTX 4090,83
  • AMD Radeon RX 7900,66
  • NVIDIA GeForce RTX 4080,50
  • NVIDIA GeForce RTX 4070,40
  • NVIDIA GeForce RTX 3090,36
  • AMD Radeon RX 6950 / GeForce RTX 3070,24
  • AMD Radeon RX 6800 / Intel Arc A770,20
  • NVIDIA GeForce RTX 2080 / Radeon RX 6750,14
  • NVIDIA GeForce RTX 2060,7
  • NVIDIA GeForce GT 1030,1

更多显卡性能可在Versus检索。

GPUS_Ada_raw_performance3.webp

TechPowerUp 是一个 PC 硬件媒体,其 GPU 规格数据库有助于了解目标 GPU 的各项参数,并进行对比。另外,评测博主 Tim Dettmers 撰写了万字长文,给出在深度学习中使用 GPU 的经验和建议。还可以参考NVIDIA官方的GPU算力(Compute Capability)表,请注意这里的Compute Capability并不代表TFLOPS。

一些AI模型的计算量:

20230320182228.png
Characterization and Benchmarking of Deep Learning, HP Labs

浮点运算数用于衡量算法/模型的浮点运算复杂度时通常写成FLOPs,理解为计算量。


参考资料

Jetson Nano 的资源分享:

链接:https://pan.baidu.com/s/1E95CKisbCLTGKGI6c-JydA
提取码:culm

👍

本文由 CulmartPlay 整理发布,参考 CC-BY-SA 3.0 协议共享,欢迎转载、引用或改编。
感谢您的支持,以共同推动STEM公益教育!

楼主残忍的关闭了评论