本次Jetbot实验全程都在 Jetson Nano 2GB 开发套件上面运行。在组装Jetbot教学系统之前,最好先把Jetbot系安装到Jetson Nano 2GB上,这样可以先对每个元件进行独立的测试,确认元件能正确工作之后再进行组装的步骤。
否则一旦先组装好再测试的话,如果发现某个元件有问题,或者线路(杜邦线、电源线)没接好,就得拆下来测试后再组装,这个过程非常折磨人,因此建议在组装之前,先个别测试每个元件之后再进行组装,会减少很多麻烦。
Jetbot需要与很多周边设备互动,并且使用很多深度学习框架以及Jupyter交互界面进行操作,因此需要安装与调试的内容很多,主要包括以下部分:
为了减少使用者的逐步安装之苦,Jetbot提供三种安装方式,现在就一一为大家说明,请任选其中一种就可以。
这是Jetbot一开始推出来的时候所使用的方法,至今还继续沿用。执行步骤如下:
根据所使用的机型是Jetson Nano或2GB版本,选择对应的下载路径,目前最新版本是基于Jetpack 4.5的基础上搭建,然后打包成镜像文件提供下载。请到https://jetbot.org/master/software_setup/sd_card.html(下图)点选:
下面也将这两个链接复制一份在这里 :
这种方式最常遇到的问题,就是镜像文件存放在Google Drive上,国内下载可能会出现阻碍,目前也没找到任何Mirror站提供这两个镜像文件,这是用户需要自行客服的部分。
对于Ubuntu操作系统不是太熟的使用者,推荐使用这种方法是最单纯的。
如果您已经在Jetson Nano(含2GB)上开发某些深度学习应用,并计划与Jetbot进行整合,那么前面一种方式就需要您将现有项目全部移植到Jetbot的环境里,这并不是一种非常理想的方式。
这里有两种方法能在您现有的Jetapck开发环境中,安装Jetbot智能无人车项目,不过请确认您的TF卡还有足够的空间,如果将SWAP挡一起算进去,建议至少有10GB空间是比较保险的。
第一件事情,就是将Github的开源代码,复制一份到您的Jetson Nano(含2GB)上,请执行以下指令:
$ $ |
cd ~ && git clone http://github.com/NVIDIA-AI-IOT/jetbot.git cd jetbot |
接下来看看这两种可以操作的方式,Jetbot项目都为我们准备好对应的脚本,因此只要执行这些脚本就可以,只是有些小地方需要做点修正就可以:
在jetbot/scripts里有个”create-sdcard-image-from-scratch.sh”脚本,将所有Jetbot所需要的依赖库、软件与环境调试步骤,全部写在这个脚本里面,只要执行以下指令就能自动执行。
$ $ $ $ |
cd scripts sudo ./create-sdcard-image-from-scratch.sh ./scripts/configure_jetson.sh # 关闭图形桌面,并设定成10W运行模式 ./scripts/enable_swap.sh # 添加SWAP空间 |
但这种方法存在一个比较大的风险,就是安装过程中,有些Python库版本会与您原本调试好的版本产生冲突的可能,特别是numpy版本以及tensorflow、pytorch相关的库,一旦造成冲突,要重新还原是个大工程。
除非您对这些库之间的版本依赖比较熟悉,否则并不推荐使用这个方式,虽然这种安装所需要的时间最短,但是潜藏的风险是最大的。
这是实用性最高的方式,不仅Docker集成技术会将Jetbot操作环境与实体环境进行隔离,避开软件版本冲突的风险,还能与您现有开发环境共存,进一步将Jetson Nano 2GB上所开发的项目有效集成,也让TF卡利用率能发挥到最高,是我们比较推荐的一种安装方式。
创建Jetbot容器的脚本在目录下的docker目录里,请先将工作位置移到这里:
$ |
cd ~/jetbot/docker |
这个安装过程,最好先用USB或网络(有线或WIFI)与Jetson Nano 2GB连线,透过SSH远程操作会比较合适,因为过程会将Jetson Nano(含2GB)的图形桌面关闭,并且最后需要在PC上用浏览器开启Jupyter操作界面。
Jetbot团队提供创建Docker版本的脚本是基于Jetpack 4.4版本,如果您目前使用Jetpack 4.5以上版本的话,需要对configure.sh脚本以及<base>、<camera>、<display>、<jupyter>、<models>下面的Dockerfile进行小幅度修改。下面以Jetpack 4.5版本为例:
15 16 17 |
elif [[ "$L4T_VERSION" == "32.5.0" ]] then JETBOT_BASE_IMAGE=nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.6-py3 |
储存修改后,执行以下指令:
$ |
source configure.sh |
全部修改存档后,回到docker目录下执行创建脚本:
$ |
./build |
整个过程在Jetson Nano 2GB上大约需要90分钟,会创建或下载以下6个镜像文件:
创建完毕之后,执行以下指令看看是否创建齐全:
$ |
docker images |
后面所显示的 “SIZE” 是叠加上去的,全部实际所占用的空间大约5GB,所以不用太担心TF卡空间是否会不足。
最后设置Jetbot相关环境,并重启设备:
$ $ $ |
./scripts/configure_jetson.sh # 关闭图形桌面,并设定为10W执行模式 ./scripts/enable_swap.sh # 创建4GBSWAP 空间 sudo reboot |
接下去就启动Jetbot软件,执行以下指令将启动位置设为在 $HOME/jetbot
$ $ |
cd ~/jetbot/docker ./enable $HOME/jetbot |
检查系统是否启动?可以用docker ps指令看看服务是否正常允许,如果显示以下信息,表示这个系统已经启动。
到这里就完成Docker版Jetbot系统的安装。
这里需要一台Jetson Nano 2GB以外的电脑,可以是Windows、Linux、Mac操作系统的PC机,透过网络连线的方式,用浏览器登陆Jupyter界面来操作Jetbot。
必须确保两台电脑在同一个网段,而且可以互相访问(ping),最简单的方式就是用具备数据传输的Micro USB 连接线,将Jetson Nano 2GB 与 PC 之间进行直连(如下图),当连线成功之后,Jetson Nano 2GB就能有”192.168.55.1”这个固定的IP,这样的出来是最简便的。
只要在PC上执行 “ping 192.168.55.1” 能正确通信,接下去就可以在PC上开启一个浏览器(推荐用Chrome)输入”<IP_OF_JETSON_NANO_2GB>:8888”,例如这里就在浏览器网址输入框输入 ”192.168.55.1:8888” 就可以。
第一次进入的时候会要求输入密码,系统预设为“jetbot”,输入之后就能进入下面画面的Jupyter操作界面,这里的根目录就是 ”enable.sh” 后面跟随参数所指定的路径,可以自行调整。
如果能打开的话,就表示这台Jetbot已经处于能工作的状态,就可以开始进入后面的内容。关于Jupyter的操作,请自行在网上查找,这里不单独提供使用说明。接下去的内容就会在这个界面上进行操作。[完]
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面