Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

文末有微信群,欢迎小伙伴们加入,一起交流学习玩耍~

当前博主的Nano更新的版本为:Jetpack 4.2, cuda10.0, cudnn7.3.1, opencv3.3.1, TensorRT5.0.6,


系统内核:tegra-ubuntu 4.9.140-tegra  aarch64, Linux系统版本:Ubuntu18.04,cmake 3.5.1


更新后为Python3.6.7(还装有Python:2.7.15),pip19.0.3,setuptools-40.8.0 , Numpy1.16.2

Tensorflow1.13.1
内存:4G+硬盘128G(自装的内存卡)

1、Jetson-Nano开箱配置-刷机教程

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

1.1 官网教程

The NVIDIA® Jetson Nano™ Developer Kit is a small AI computer for makers, learners, and developers. After following along with this brief guide, you’ll be ready to start building practical AI applications, cool AI robots, and more.

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

 

  • microSD card slot for main storage
  • 40-pin expansion header
  • Micro-USB port for 5V power input or for data
  • Gigabit Ethernet port
  • USB 3.0 ports (x4)
  • HDMI output port
  • DisplayPort connector
  • DC Barrel jack for 5V power input
  • MIPI CSI camera connector

配件
光有一个开发板还不够,你还需要至少如下配件:

  1. 能提供电源的电源插座一个
  2. (必需)TF卡一个,至少16GB,注意一定要至少16GB的,Jetson-nano的os image解压之后就有12G,太小的TF卡根本装不下。
  3. (必需)USB供电装置,Jetson-nano虽然支持DC5V和micro-usb5V两种供电方式,但是谁家正好有DC5V的接头,反而是USB谁家都有,所以USB是首选供电方式。这里需要注意,虽然官方文档指出,Jetson-nano只需要5V2A的供电设备就可以工作,但是很多人手里的USB充电头可能是三无产品,有虚标的现象,同时,USB线材的质量也会影响供电效果。dwSun用的是小米家的USB充电头,支持快充,标称5V2.5A功率18W,目前看使用没啥问题。USB线则是一个20cm长的短线。
  4. (选配)usb网卡,因为Jetson-nano有一个RJ45的插口,所以可以直接插网线用,但是多一根线总是看着心烦不是。用树梅派的时候,dwSun注意到,usb网卡偶尔不是很稳定,rpi3代以后的板载wifi也是。倒是在jetson-nano上,开机几天了,usb网卡还算好用,也没出啥问题。
  5. (选配)网线,这个没啥好说的,随便找一个就行了,5类6类都行。嵌入式设备,网络通信量不至于很大。

有上述配件,就足够jetson-nano的日常使用了。不过初次安装的时候,还需要做一些配置,所以需要一些额外的配件,这里列举如下:

hdmi的显示器和相应的数据线,或者DP接口也可以
usb键鼠

1.2 下载Jetson-nano的OS镜像

Jetson-nano的OS,跟树梅派等一些小型开发板卡一样,都是放在TF卡里面,插到板子上面的。

跟普通PC的安装光盘镜像(ISO)不同,这些嵌入式设备的OS安装镜像一般是一个img文件,直接写入TF卡。

从这里:  https://developer.nvidia.com/embedded/dlc/jetson-nano-dev-kit-sd-card-image

下载安装镜像。得到jetson-nano-sd-r32.1-2019-03-18.zip文件,解压后得到jetson-nano-sd-r32.1-2019-03-18.img文件。

文件比较大,zip文件都有5G多,下载真的要点时间。
 

2、镜像文件写入microSD卡

Nvidia官方推荐使用Etcher将下载的img文件写入TF卡。

Etcher支持Mac,Linux,Win三个平台,鼠标操作,确实值得一试。

https://www.balena.io/etcher/

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

3、安装和首次启动

       Nvidia这次的Nano开发板没有保护壳和支架,很很容易造成静电干扰、击穿以及其他物体短路的情况,Nvidia为了解决这个问题设计了可以伸缩的纸质支架,和包装盒浑然一体,虽然极具创意,但是还不是长久之计。于是乎博主自己设计了一款nano的保护外壳以及风扇。原装纸质支架具体安装以及步骤如下:

  1. 展开纸架并放入显影套件箱内。
  2. 将显影套件放在纸架顶部。
  3. 将microSD卡(系统映像已写入其中)插入Jetson Nano模块底部的插槽中。
  4. 打开计算机显示器电源并连接它(需要HDMI的显示器)。
  5. 连接USB键盘和鼠标。
  6. 连接Micro-USB电源(5V⎓2A)。Jetson Nano Developer Kit将自动开机并启动。

 
开发人员套件开机后,Micro-USB连接器旁边的绿色LED指示灯将亮起。当你第一次启动时,Jetson Nano Developer Kit将引导你完成一些初始设置,包括:

  1. 查看并接受NVIDIA Jetson软件EULA
  2. 选择系统语言,键盘布局和时区
  3. 创建用户名,密码和计算机名称
  4. 登录

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

以上设置完成后你会看到这个屏幕。恭喜你已经完成刷机,开启Nano的畅快设计旅程!

 

基本情况
1、安装SD卡,128g。

2、镜像自带系统ubuntu18.04,cuda10,cudnn7,  opencv

3、需要买一个带有Linux驱动的USB无线网卡

问题
新的板子不出点大小问题是不可能的。
当前的版本是Jetpack4.2
Python里面没有numpy,没有TensorFlow,没有我超爱的keras,自带的桌面共享有bug,自动崩溃
电源要求严格,试了很多原装的5v2a电源,几乎都带不动这块板子。已经是用VNC不插外设的状态了,应该是输出不到2a电流。DC的2A电源可用,需要跳线屏蔽micro usb供电,板子上印刷有注释。


TensorFlow1.13.1的安装


直接用C/C++来做部署无疑是有最高运行效率的,但是开发起来就有点蛋疼,一般的做法是用python直接做模型的开发调试,到最终部署的时候,视需求决定是否用C/C++来部署最终的模型。

所以,如果在Jetson nano上有一个Python版本的深度框架,无疑可以极大的提高开发的效率。

目前,Nvidia官方只给除了Tensorflow在Jetson设备上的安装指南,甚至还提供了一个Nvidia编译版本的Tensorflow可以直接安装,dwSun也是寻寻觅觅了一段时间才发现。

安装相关的依赖库和工具
sudo apt-get install libhdf5-serial-dev hdf5-tools zlib1g-dev zip libjpeg8-dev libhdf5-dev  python3-pip

系统里面默认是没有python3-pip的,所以需要自己安装。

pip的配置
默认pip是直接从pypi服务器下载这些库的,但是pypi也是在海外的,所以为了下载更快,这里进行一些简单的配置,使用国内pip源,这里使用的是ali的pip源,配置文件如下:

[global]

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

修改配置文件

cd ~
mkdir .pip
nano .pip/pip.conf   # 将上述配置内容写入配置文件即可

安装相关的python库
pip3 install -U numpy  # 需要编译安装,用时很长,所以单独安装
pip3 install -U h5py # 需要编译安装,用时非常长,我的板子装这个20多分钟才装完
pip3 install -U grpcio absl-py py-cpuinfo psutil portpicker grpcio six mock requests gast h5py astor termcolor

安装过程可能会出现一些错误,如网络错误等,所以需要仔细看一下最终安装的结果,确认安装确实完成了。

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

这么安装是直接从网站上下载wheel文件的,也可以用下载工具先去

https://developer.download.nvidia.com/compute/redist/jp/v42       下载好,再用pip执行本地安装。(推荐)

这个过程同样很漫长,而且还要装一些额外的东西。
 

sudo pip install --ignore-installed --upgrade tensorflow_gpu-1.3.0-cp36-cp36m-linux_x86_64.whl
Installing collected packages: six, setuptools, protobuf, numpy, h5py, keras-applications, absl-py, markdown, werkzeug, wheel, grpcio, tensorboard, keras-preprocessing, gast, pbr, mock, tensorflow-estimator, astor, termcolor, tensorflow-gpu
Successfully installed absl-py-0.7.1 astor-0.7.1 gast-0.2.2 grpcio-1.20.0 h5py-2.9.0 keras-applications-1.0.7 keras-preprocessing-1.0.9 markdown-3.1 mock-2.0.0 numpy-1.16.2 pbr-5.1.3 protobuf-3.7.1 setuptools-41.0.0 six-1.12.0 tensorboard-1.13.1 tensorflow-estimator-1.13.0 tensorflow-gpu-1.13.1+nv19.4 termcolor-1.1.0 werkzeug-0.15.2 wheel-0.33.1

 

[email protected]:~/software-1$ python
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as
as       ascii(   assert   
>>> import tensorflow as tf
>>> tf._version_
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute '_version_'
>>> tf.__version__
'1.13.1'

安装keras

先安装libhdf5-dev、python-h5py,之后再安装keras

sudo apt-get install libhdf5-dev
sudo apt-get install python-h5py
sudo pip3 install keras

 

2、交流讨论

微信交流群:小伙伴们,欢迎加入下面群一起交流玩耍~

欢迎邀请其他小伙伴进群哦~~

 

Jetson Nano--1--Jetson Nano刷机教程-开机配置及Tensorflow安装详细步

参考:

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

https://blog.csdn.net/dvd_sun/article/details/88975005#commentBox