Jetson Nano开箱配置及Tensorflow安装使用

1.Jetson Nano简介:

2019.3.19NVIDIA的2019 GTC大会于硅谷召开,CEO黄仁勋发布了一款为机器人开发者量身定制工具套件:Jetson Nano。据悉,Jetson Nano可以为机器人带来足够的AI运算力,号称Nvidia良心之作的99美元AI硬件Jetson-Nano:

Jetson Nano开箱配置及Tensorflow安装使用

该设备使用的是Maxwell(比pascal古老一点)架构的GPU,有128个Cuda核心,运算能力472G,看数值似乎一般般,但是考虑这是一个只有5W的嵌入式设备,这种运算能力已经相当可观了,足够部署一些小模型在终端设备上。

同时,Jetson-nano还有一个4核心A57处理器,运行Linux for Tegra,其实就是一个Ubuntu的ARM定制版本。

Jetson Nano开箱配置及Tensorflow安装使用

关于Jetson Nano接口:

Jetson Nano开箱配置及Tensorflow安装使用

Jetson Nano开箱配置及Tensorflow安装使用

2.基础配置安装:

2.1 前期需要额外准备:

  • microSD card/TF卡 (16GB勉强,建议研发买32G)
  • TF卡读写器
  • USB键盘与鼠标
  • HDMI显示屏连接线
  • Micro-USB电源 (5V⎓2A)
  • USB无线网卡(可选,用网线也可以)

2.2 烧写ubuntu18.04镜像:

 

  • 英伟达官网下载SD卡镜像(5.25GB):下载jetson-nano-sd-r32.1-2019-03-18.zip文件,解压后得到jetson-nano-sd-r32.1-2019-03-18.img文件。
  • 下载烧写器:Nvidia官方推荐使用Etcher将下载的img文件写入TF卡,Etcher支持Mac,Linux,Win三个平台。我这里使用最简单的方法,下载win x64版
  • 并将镜像(需先解压得到.img文件)写入TF卡
  • 双击直接运行 balenaEtcher-Portable-1.5.24-x64.exe,分别如下:选择jetson-nano-sd-r32.1-2019-03-18.img镜像文件、选择自己的TF卡;然后开始flash

Jetson Nano开箱配置及Tensorflow安装使用

Jetson Nano开箱配置及Tensorflow安装使用

Jetson Nano开箱配置及Tensorflow安装使用

 OK,刷机完成!

2.3TF卡插入板子:

Jetson Nano开箱配置及Tensorflow安装使用

 插上USB键鼠,显示器,最后插上USB电源之后,系统会直接开始启动。系统启动过程中,会看到NVIDIA的logo和经典的linux文本滚动启动界面。

首次启动完成后,Jetson-nano的OS会引导用户进行语言,键盘,时区,用户名密码等的配置,与Ubuntu的首次安装配置一样,按照引导程序的指示操作即可!


3.安装tensorflow-gpu、keras等

Jetson-nano的OS镜像已经自带了JetPack,cuda-10,cudnn,opencv等都已经安装好,不再需要额外的配置

3.1更换apt源:Jetson设备默认的apt镜像源在海外,速度很慢,这里用一个国内的中科大源代替海外源。

修改文件:

sudo gedit /etc/apt/sources.list

把文件中所有的内容替换为下面:

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security universe
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security multiverse

 使apt源生效:

sudo apt-get update
sudo apt-get upgrade

3.2安装各种包以及依赖

<1> 安装基础包:

sudo apt-get install build-essential cmake  pkg-config
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev  protobuf-compiler
sudo apt-get install libhdf5-serial-dev hdf5-tools zlib1g-dev  libjpeg9-dev libhdf5-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev
sudo add-apt-repository universe
sudo add-apt-repository main
sudo apt-get update
sudo apt-get install gfortran libopenblas-dev liblapack-dev libatlas-base-dev  

 <2> 安装python3.6的pip,系统默认是没有pip的,安装好了,可以使用pip3安装各种包:

sudo apt-get python3-pip

更换pip源:

cd ~
mkdir .pip
sudo gedit  .pip/pip.conf 

将pip.conf文件所有内容替换为下面内容,保存并退出:

[global]

trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple

 <3> 安装numpy、scipy:

sudo pip3 install numpy  
sudo pip3 install scipy

 <4> 安装tensorflow-gpu:

pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu

 <5> 安装keras:

pip3 install keras

 <6> 这里贴出博主的所有安装库版本:

scht@scht-desktop:~$ pip3 list
Package                       Version            
----------------------------- -------------------
absl-py                       0.7.1              
apt-clone                     0.2.1              
apturl                        0.5.2              
asn1crypto                    0.24.0             
astor                         0.7.1              
beautifulsoup4                4.6.0              
blinker                       1.4                
Brlapi                        0.6.6              
certifi                       2018.1.18          
chardet                       3.0.4              
cryptography                  2.1.4              
cupshelpers                   1.0                
decorator                     4.1.2              
defer                         1.0.6              
distro-info                   0.18ubuntu0.18.04.1
feedparser                    5.2.1              
gast                          0.2.2              
graphsurgeon                  0.3.2              
grpcio                        1.20.0             
h5py                          2.9.0              
html5lib                      0.999999999        
httplib2                      0.9.2              
idna                          2.6                
Keras                         2.2.4              
Keras-Applications            1.0.7              
Keras-Preprocessing           1.0.9              
keyring                       10.6.0             
keyrings.alt                  3.0                
language-selector             0.1                
launchpadlib                  1.10.6             
lazr.restfulclient            0.13.5             
lazr.uri                      1.0.3              
louis                         3.5.0              
lxml                          4.2.1              
macaroonbakery                1.1.3              
Mako                          1.0.7              
Markdown                      3.1                
MarkupSafe                    1.0                
mock                          2.0.0              
numpy                         1.13.3             
oauth                         1.0.1              
oauthlib                      2.0.6              
olefile                       0.45.1             
PAM                           0.4.2              
pbr                           5.1.3              
Pillow                        5.1.0              
pip                           19.0.3             
protobuf                      3.7.1              
pycairo                       1.16.2             
pycrypto                      2.6.1              
pycups                        1.9.73             
pygobject                     3.26.1             
PyICU                         1.9.8              
PyJWT                         1.5.3              
pymacaroons                   0.13.0             
PyNaCl                        1.1.2              
pyRFC3339                     1.0                
python-apt                    1.6.3+ubuntu1      
python-debian                 0.1.32             
pytz                          2018.3             
pyxdg                         0.25               
PyYAML                        5.1                
requests                      2.18.4             
requests-unixsocket           0.1.5              
scipy                         0.19.1             
SecretStorage                 2.3.1              
setuptools                    41.0.1             
simplejson                    3.13.2             
six                           1.12.0             
ssh-import-id                 5.7                
system-service                0.3                
systemd-python                234                
tensorboard                   1.13.1             
tensorflow-estimator          1.13.0             
tensorflow-gpu                1.13.1+nv19.4      
tensorrt                      5.0.6.3            
termcolor                     1.1.0              
ubuntu-drivers-common         0.0.0              
uff                           0.5.5              
unattended-upgrades           0.1                
unity-scope-calculator        0.1                
unity-scope-chromiumbookmarks 0.1                
unity-scope-colourlovers      0.1                
unity-scope-devhelp           0.1                
unity-scope-firefoxbookmarks  0.1                
unity-scope-manpages          0.1                
unity-scope-openclipart       0.1                
unity-scope-texdoc            0.1                
unity-scope-tomboy            0.1                
unity-scope-virtualbox        0.1                
unity-scope-yelp              0.1                
unity-scope-zotero            0.1                
urllib3                       1.22               
wadllib                       1.3.2              
webencodings                  0.5                
Werkzeug                      0.15.2             
wheel                         0.33.1             
xkit                          0.0.0              
zope.interface                4.3.2              
scht@scht-desktop:~$ 

简单测试一下是否报错:

python3

4.总结及注意事项:

  • 训练速度其实还是挺慢的,比我的笔记本电脑略慢一点,但是考虑这个开发板5W的功耗,还要啥自行车。
  • jetson的显存和内存是共享的,一共只有4G,还是需要小心些使用的。
  • tf卡寿命有限,所以如果拿来做正式产品,一定考虑如何保护tf卡以及tf卡损坏的预案。
  • 虽然开发板功耗不是很高,但是对电源的要求还是略苛刻的,如果有任何使用异常,请先考虑是不是电源输出功率不够

 5.关于摄像头

USB的摄像头可以随便用,随便买,基本都能支持。
如果是要用CSI接口的摄像头,那么Jetson官方文档指出,Jetson设备只支持IMX219方案的摄像头,淘宝上买要RMB120以上,千万不要看错了。那种十几块的CSI排线摄像头,Jetson的设备没有驱动,完全无法用


参考:https://blog.csdn.net/dvd_sun/article/details/88975005

上一篇:玩转NVIDIA Jetson AGX Xavier(14)--- 在jetson上运行tensorflow+tensorrt的官方demo


下一篇:在Jetson TX2上捕获、显示摄像头视频