admin管理员组

文章数量:1542481

作者:Sangeet Aggarwal

翻译:王晓颖

校对:张若楠

本文约10000字,建议阅读10+分钟

本文教你如何使用 Tensor Flow,Keras,Tensor RT,以及OpenCV来为计算机视觉和深度学习安置你的英伟达Jetson Nano。

标签:计算机视觉,深度学习

之前我们讨论了如何使用我的 pre-configured Nano .img file,那今天,你将学习从头开始想学习如何安置你自己的Nano。

本教程需要你有至少48小时的空余时间完成你英伟达 Jetson Nano 的自主安置(是的,这就是这么有挑战)。

如果你决定想要用我的pre-configured Nano .img file来代替一些繁琐步骤,你可以从我的新书Raspberry Pi for Computer Vision 中找到相关部分。

本篇专为那些有足够有勇气想要正面迎战的你而写!

想要学习如何为计算机视觉和深度学习安置你的英伟达 Jetson Nano,就继续阅读

正文开始

英伟达Jetson Nano 封装了每秒浮点运算为472千兆的计算马力。这是个能力强大的设备,但是配置起来十分复杂(复杂系统一般都不容易安置)。

在本教程中,我们会陆续通过16个步骤来为计算机视觉和深度学习安置你的Jetson Nano。

准备好接受一个漫长而磨人的过程---你可能需要2到5的时间根据本教程来安置你的Nano。

完成安置后,我们将测试你的系统以确认是否安置正确,以及 TensorFlow/Keras和OpenCV能否按照预期运行。我们还将用OpenCV来测试Nano摄像头确认我们可以访问视频流。

如果你在最后一个测试阶段遇到了问题,那你需要返回之前的步骤来解决它;甚至,你可能要冲头开始,用另外的充满痛苦2到5天的时间弄懂教程再继续(别担心,我在16个步骤后面还提供了备选方案)。

第一步#1:将英伟达的Jetson Nano Developer Kit.img闪存到Jetson Nano的microSD卡中

在这一步骤中,我们要下载 NVIDIA’s Jetpack 4.2 Ubuntu-based OS image并将它闪存到一个microSD卡中。你会需要一个 已闪存的microSD并准备好根据以下步骤继续:

直接点击并在该链接(https://developer.nvidia/jetpack-4_2)下载,确认你下载的是下面图中所示‘Jetson Nano Developer Kit SD Card image’。

我们建议Jetpack 4.2,它在计算机视觉化中能更好适配整个树莓派(Raspberry Pi)功能包(我们的建议在未来会有改变)。

当你在等待Nano SD图片下载的间歇中,可以继续下载并安置balenaEtcher,一个磁盘图片闪存工具:

图2:为你的OS下载并安置belenaEtcher。你将用它来把Nano 图片闪存到一个microSD卡

 

一旦NanoJetpack图片和belenaEtcher都下载安置后,就准备好将闪存图片到microSD。

你需要一套合适的microSD卡和microSD读取硬盘。我们推荐32GB或者64GB的microSD (SanDisk 的98MB/s卡品质优越,亚马逊有售)。任何microSD卡读取器都可以运行。

 

插入microSD到读卡器中,然后将读卡器接入你电脑上的USB接口。从这步起,启动balenaEtcher并继续至下一步Flash按钮。

图3:闪存英伟达的Jetpack 图片和balenaEtcher到一个microSD 卡是安置Nano 的第一步

 

当闪存完成,就可以进行第二步了。

 

第二步#2:用microSD启动你的Jetson Nano 并连接网络

图4:英伟达 Jetson Nano自身不兼备Wi-Fi ,但你可以用一个USB的无线模组(右上)或者在散热片下一个更永久性的模组(底部中间)。图中还有一个5伏特4安培(20瓦)充电头(左上),你可以在连接很多硬件时给Jetson Nano 充电。

 

在这一步,我们要给Jetson Nano通电并建立网络连接。

这个步骤需要如下准备:

  1. 第一步中闪存好的microSD;

  2. 一个英伟达的Jetson Nano dev板;

  3. HDMI 屏幕;

  4. USB的键盘和鼠标;

  5. 充电头:yi5伏特 2.5安培(12.5瓦)的microSD充电头或者5伏特 4 安培(20瓦)的有J48接头处跨接导线的套管电源;

  6. 网络连接:连接Nano到你网络的以太网网线后者无线模组。无线模组可以是USB的Wi-Fi转接器或者在Jetson Nano散热片下安置的Wi-Fi模组。

如果你想用Wi-Fi(大部分人的选择)你一定要装一个自己的Wi-Fi模组。 有以下两个特别棒的选择来给你的Jetson Nano添加Wi-Fi:

  1. USB转Wi-Fi 转换器(图4右上)。不需要任何工具包而且可适用于其他设备。如图中的 Geekworm 双频USB 1200米线(Geekworm Dual Band USB 1200m。

  2. 类似于Intel双频Wi-Fi模组(Intel Dual Band Wireless-Ac 8265 W/Bt (Intel 8265NGW))和 两个 Molex Flex 2042811100 Flex Antennas (图5,底部中间)。你必须在Jetson Nano 的主要散热片下安置Wi-Fi模组和天线。这个改装需要一个飞利浦 #2改锥、无线模组和天线(更别说耗费10-20分钟的操作时间)。

如果你想让Jetson Nano 连接Wi-Fi,我们建议你采用USB的Wi-Fi转换器。 网络上还有很多选择,所以也可以买一个有Ubuntu 18.04 的驱动提前安置到OS上,这样你就不需要费劲按照Geekworm的产品说明来下载安置驱动(如果你原本就没有可用的有线连接那么下载和安置驱动对你来说会很难)。

 

一旦你已收集所有装备,把你的microSD卡像图5所示插入你的Jetson Nano:

图5:插入闪存好Jetpack的microSD卡需要先找到microSD接口,即如图中红圈所示位置。插入microSD卡一直到正确位置

现在,连接你的屏幕,键盘,鼠标和网络交互。

最后,充电。将你Jetson Nano的充电转换器插入充电头(用J48跨接如果你是用的20瓦套管充电头)。

图6:用你屏幕中靠近右上角的图标来安置Jetson Nano的网络设置,你会需要网络访问来下载和安置用于计算机视觉和深度学习的软件

一旦你看到了NVIDIA + Ubuntu 18.04的桌面,你可以按需要用图六中显示的菜单栏上的图标来安置你的有线或者无线网络设置。

当你确认你的英伟达 Jetson Nano已经有了网络访问,你可以进行下一步。

 

第三步#3:打开一个终端或者开启一个SSH session

在这个步骤,我们可以做以下选项中的一个:

  1. 选项1:在Nano桌面打开一个终端,假定此后的步骤都需要用到已连接到你的Nano键盘和鼠标。

  2. 选项2:从另一台电脑上启动一个SSH 连接,这样我们可以远程为计算机视觉和深度学习来配置Jetson Nano。

两个选项一样可行。

 

  • 选项1:在Nano桌面打开一个终端

对于选项1, 打开一个软件启动台,选择一个终端软件。你可能希望在左侧的菜单上右击并锁定这个软件到启动台,毕竟你很大可能需要经常使用到它。

你现在可以继续第四步#4 并将终端一直开着以便输入指令。

  • 选项2:从另一台电脑上启动一个SSH 连接

对于选项2,你必须决定你的Jetson Nano的用户名和IP地址。在你的Nano上,从软件启动台准备好一个终端,并且在提示下输入下面的指令:

 

$ whoami
nvidia
$ ifconfig
en0: flags=8863 mtu 1500
  options=400
  ether 8c:85:90:4f:b4:41
  inet6 fe80::14d6:a9f6:15f8:401%en0 prefixlen 64 secured scopeid 0x8
  inet6 2600:100f:b0de:1c32:4f6:6dc0:6b95:12 prefixlen 64 autoconf secured
  inet6 2600:100f:b0de:1c32:a7:4e69:5322:7173 prefixlen 64 autoconf temporary
  inet 192.168.1.4 netmask 0xffffff00 broadcast 192.168.1.255
  nd6 options=201
  media: autoselect
  status: active

抓取你的IP地址(高亮的那一行)。我的IP地址是 192.168.1.4;然而你的IP地址与我不同,所以确保你检查并确认你的IP地址。

然后,在其他电脑上,比如你的笔记本/台式机,按如下开启一个SSH连接:

 

$ ssh nvidia@192.168.1.4

注意我在Jetson nano上的指令里是如何输入用户名和我的IP地址来达到远程连接的。你现在应该成功连接到你的Jetson Nano,并且可以继续第四步了。

 

第四步#4:更新你的系统并且删除程序以节省空间

在这一步,我嗯要删除一些我们不需要的程序,并且更新我们的系统。

第一步,我们先设置Nano使用最大功率容量:

 

$ sudo nvpmodel -m 0
$ sudo jetson_clocks

本文标签: 英伟何为深度视觉计算机