Nvidia Jetson Nano B01初体验(一)

举报
张辉 发表于 2022/02/03 01:25:34 2022/02/03
【摘要】 本文介绍了Jetson Nano的安装过程。

(一)背景

Jetson Nano是Nvidia推出的AI套件。由于各种原因,Nvidia的价格几乎成为了这几年游戏玩家和AI学习者的噩梦,Jetson Nano也没有逃出这个局。

2021年11月左右,CANN训练营第三期的奖品之一是一个不带主板的机械臂。这个机械臂可以使用两种类型的主板——树莓派和Jetson Nano(B01)。记得当时的价格是带主板的接卸比为2600元,不带主板的为1600元,相当于Jetson Nano为1000元左右(谁还记得当初发布的时候报价为99美元),但是当时单买主板需要1300元。当然,这是商家的定价策略,希望用户能够打包购买。当时张小白做了一个错误的决定——因为感觉单主板需要1300——太贵,买了当时价格为750+的树莓派(现在价格为799元)。

结果到了2022年1月份,Jetson Nano的价格一路飙升,至本篇文字发稿时为止,单主板的价格已涨到2499元,已经接近了机械臂套件(含主板)的价格——这也证明,张小白完全不会理财。

这一度阻止了张小白玩转机械臂的进程(其实是张小白你懒癌发作了吧——旁白)

然而,作为一款搭载Cortex A57、128核Maxwell GPU和4G LPDDR内存,支持2路摄像头,提供472GFLOP算力(相比而言,昇腾Atlas 200DK开发者套件提供22/16/8 TOPS INT8,11/8/4 TFLOPS FP16算力)的经典产品,能跑TensorFlow(含Keras),PyTorch,Caffe,MXNet等框架的经典产品,还是值得把玩一番的。

(二)制卡

张小白下载了Nivida 2022冬季训练营的CUDA On ARM 的 Nano 版镜像:

并且在Windows11环境下载了balenaEtcher软件:

安装之后打开:

准备一张空白的64G TF卡

点击 Flash from file,选择前面下载好的镜像文件:

点击中间的Change,选择TF卡的盘:

点击Select:

点击Flash进行刷机:

。。。

耐心等待刷机完毕:

(三)开箱

Nano的包装盒正面:

反面:

打开外包装,这是一个由黑色包装袋包装好的设备:

全新未拆封:(卖家还是非常良心的)

撕开包装之后:

主板正中上面是一个很大的散热片,左边是两个摄像头CSI接口,右边有个40引脚的CPIO,右下角是个5V2A的MicroUSB接口(可以使用电源供电,或者使用PC连接);正下方有1个HDMI 2.0视频接口和1个DisplayPort 1.3视频接口,4个USB3.0接口,一个RJ45千兆以太网接口。左下角是个5V的DC供电口。看视频是推荐使用5V4A的DC供电方式( 使用DC电源需要短接J48跳线帽),因为电源连接这里可以开启15w的高功率模式。据说YoloV3的应用,电流需要2.9A左右,如果连接右下角的电源口,会让Nano板不断地发热和重启。但张小白貌似没有找到这个跳线帽。问了下卖家,他说用MicroUSB做电源应该也没事儿。

(四)安装亚克力板

下面第一件事就是将Nano装入亚克力板中保护起来。

先拆开散热片:

将右边另购的无线网卡插入上图左边的插槽,并用螺丝拧紧。

陆陆续续装好之后,大概是这个样子:

然后将前面制好的TF卡插入上图孔中的TF卡槽。

然后在USB口上接入鼠标、键盘,并在网口接入网线,在HDMI口接入电视机(貌似有点奢侈)

(五)启动

加电启动:

切到这里就不动了:

按理说,这个应该是启动起来了,但是张小白也不知道用户名和密码是啥。而且这个报的是什么错也搞不清。

(六)重新制卡

于是决定从官网下载镜像来装试试。

打开官网:https://developer.nvidia.com/embedded/downloads

点击上图箭头所指的 Download the SD Card Image:

下载好的Jetpack 4.6大约有6.3G左右。

然后再用Etcher制作TF卡:

(张小白是用32G的TF卡制作的)

制卡完毕后,拔出原来的TF卡,插入这张TF卡。

(七)Nvidia版Ubuntu安装配置

加电启动:

进入Ubuntu安装界面:

选中accept,继续:

选择中文(简体),继续:

选择键盘,继续:

选择时区上海,继续:

输入以上用户名密码(zhanghui/nano1234)

选择默认的App分区大小:

删除无用的启动分区:

Nvpmodel选择缺省MAXN

耐心等待配置完毕:

系统会重启:

登陆后,进入了Ubuntu的图形界面:

可惜字太小了,张小白真的看不清。

可以到路由器上看下IP地址:

(也不知道张小白为啥不直接打开终端看一下。。是在显摆自己绝版的极路由吗?)

于是,可以使用MobaXterm登录Nano了:

(八)apt更新

还是打开终端,需要做下apt更新:

sudo apt-get update 

...

然后做sudo apt-get full-upgrade

按Y继续,这里要有点耐心,可能会因为网络慢而超时报错,如果遇到了不要紧,耐心重做一遍即可:

(九)安装curl、nano、pip等系统软件

然后安装curl:

sudo apt install curl

安装nano:

sudo apt install nano

安装pip:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

sudo python3 get-pip.py

貌似报错了,缺省的Python是3.6.9,get-pip.py需要Python3.7。于是张小白决定暂时不装Python 3.7,而是下载与Python3.6配套的get-pip

curl  https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip3.6.py

sudo python3 get-pip3.6.py

虽然报了个错,但是也安装完毕。

当然,张小白不能期待一个不完美的安装:

sudo pip3 install testresources

再来一遍:

这回没报错了。

(十)检查已安装软件CUDA10.2,cuDNN,openCV4.1.1,visionworks

然后我们看一下已经安装的软件:

CUDA10.2,cuDNN,openCV4.1.1,visionworks好像都已经装了。

我们来配置一下nvcc:

修改.bashrc

source ~/.bashrc使其生效:

cd /usr/src/cudnn_samples_v8/mnistCUDNN/

sudo make

报错了,不过这个难不倒张小白:

sudo apt-get install libfreeimage3 libfreeimage-dev

按Y继续:

再来:

sudo make

运行:

./mnistCUDNN

..

运行成功。

(十一)安装TensorFlow所需依赖

下面我们来安装TensorFlow:

sudo apt-get install python3-numpy

sudo apt-get install python3-scipy

sudo apt-get install python3-pandas

sudo apt-get install python3-matplotlib

貌似上面几个在Jetpack 4.6已经内置,无需安装了。

sudo apt-get install python3-sklearn

按Y继续:

。。。

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran

。。。

打开 https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html

前面有些动作已经做过了,那就接着做完:

sudo pip3 install -U --no-deps numpy==1.19.4 future==0.18.2 mock==3.0.5 keras_preprocessing==1.1.2 keras_applications==1.0.8 gast==0.4.0 protobuf pybind11 cython pkgconfig

这里也要耐心等待,时长也会出超时的错误,遇到后重新执行就行了。

。。。

sudo env H5PY_SETUP_REQUIRES=0 pip3 install -U h5py==3.1.0

好像出错了。

sudo apt-get install python3-pip

按Y继续:

sudo pip3 install -U pip testresources setuptools==49.6.0 

再来一遍试试:

sudo env H5PY_SETUP_REQUIRES=0 pip3 install -U h5py==3.1.0

终于安装成功了。

(十二)安装TensorFlow 1.15

我们来安装TensorFlow 1.15吧,毕竟TF2与TF1的差异还是蛮大的。

sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v46 'tensorflow<2'

。。。

安装完毕,我们来做个验证:

写了不少了,暂时就到这里吧。

祝大家节日快乐!

(未完待续)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。