1.Jetson Nano简介:
2019.3.19NVIDIA的2019 GTC大会于硅谷召开,CEO黄仁勋发布了一款为机器人开发者量身定制工具套件:Jetson Nano。据悉,Jetson Nano可以为机器人带来足够的AI运算力,号称Nvidia良心之作的99美元AI硬件Jetson-Nano:
该设备使用的是Maxwell(比pascal古老一点)架构的GPU,有128个Cuda核心,运算能力472G,看数值似乎一般般,但是考虑这是一个只有5W的嵌入式设备,这种运算能力已经相当可观了,足够部署一些小模型在终端设备上。
同时,Jetson-nano还有一个4核心A57处理器,运行Linux for Tegra,其实就是一个Ubuntu的ARM定制版本。
关于Jetson Nano接口:
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
OK,刷机完成!
2.3TF卡插入板子:
插上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