jetpack 4.2安装和体验
引言
最近nvidia推出了大量实用的硬件和软件,这一次jetpack4.2的出现,标志着jetson开发环境的完善,在这个新的版本中,更新了3样我最需要的东西:
- tensorrt为python3提供了接口
- 可以使用jetson.GPIO像RPI.GPIO一样操作jetson机器的gpio接口
- 自带python3-opencv
相信这3个更新也是大家正在等待的
安装
下载sdkmanager
和往常一样,安装需要主机环境,支持ubuntu16,ubuntu18.不一样的是,新的版本终于不用以前那丑陋的界面了,而是使用一个新工具进行jetpack的安装:点击下载
登陆
下载好工具以后,打开命令行,输入sdkmanager打开安装工具并登陆
现在登陆必须使用nvidia开发者账号,暂时(2019.3.22)还不支持其他方式登录.如果使用开发者账号登陆后报错的话那就换一个网试试.
选择环境
我的机器是jetson tx2,选择上后下一步
选择需要的包进行安装
可以安装的工具有两部分,分别是主机端(包括cuda,opencv和cuda编程环境)和target设备端(包括系统和开发工具)主机那边如果你已经配置好了开发环境,建议不要勾选,设备那边则全部勾选上(包括重装系统)
选择好以后打上勾同意协议,开始下载安装,下载过程大约20分钟(以前的版本需要3个小时)
连接target设备
我以tx2为例说明吧
下载好以后会弹出一个窗口让你连接设备.下面按步骤说明
- 为tx2接上电源
- 用网线连接tx2和路由器,让主机也接入这个局域网,最好是使用网线而不是wifi
- 用数据线连接tx2和主机
- 为tx2接上显示器和键盘(没地方插鼠标了,将就一下,有usb扩展的话就用上)
- 让tx2进入强制恢复模式
- 目光转回主机,选择手动安装(自动不靠谱),并点击flash
- 大概在下面那条线到50%的时候,tx2的显示屏亮了,主机端跳出一个窗口让你输入用户名和密码,先别急这个.在tx2键盘上使用tab和enter键操作,选择语言,时区,跳过网络设置,设置用户名和密码然后等待安装完成
- 将刚刚主机弹出的窗口中输入刚刚设置的用户名和密码,然后继续安装.一般很难遇到失败的情况.
- 等待安装完毕
安装好jetson后要做什么
这时候可以将usb线拔掉换上鼠标线了
先jetson_clock
开启功耗模式,防止安装工具时死机
sudo apt-get update
sudo apt-get install python3-pip
嗯,我知道你嫌慢,想换成国内源完成apt-get的操作,但是!!!国内源有些玄学的问题会导致错误,保险起见,建议保持默认apt源.
然后安装一些必备的工具,如numpy,cpython,matplotlib,scipy,ipython,jupyter,tree,vim
安装好numpy以后就可以试试新版本为你准备的惊喜了,打开ipython
import tensorrt
import cv2
不成功你打我
关于jetson.GPIO,在opt/nvidia 目录下,有具体文档,项目在下一篇博客见.
安装新支持的tensorflow
安装步骤
- 下载上面的文件(可以使用
wget https://developer.download.nvidia.com/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.13.1+nv19.3-cp36-cp36m-linux_aarch64.whl
) - 在下载为了节约时间,可以同时安装一些依赖
sudo apt-get install libhdf5-serial-dev hdf5-tools
(如果使用国内源会报错) sudo apt-get install zlib1g-dev zip libjpeg8-dev libhdf5-dev
pip3 install numpy grpcio absl-py py-cpuinfo psutil portpicker grpcio six mock requests gast astor termcolor --user
- 新的h5py有bug,不兼容numpy,下载之前的稳定版本
pip3 install h5py==2.8 --user
- 构建wheel时会很慢,耐心等等,并不是出错了.
- 这时tensorflow安装包也差不多下载好了,使用命令
pip3 install tensorflow_gpu-1.13.1+nv19.3-cp36-cp36m-linux_aarch64.whl --user
进行安装,之后是漫长的等待. - 安装结束后,打开ipython 输入
import tensorflow
测试安装是否成功.
使用tensorrt在tx2上加速tensorflow模型的推理
参照demo
先git clone --recursive https://github.com/NVIDIA-Jetson/tf_trt_models.git
这时可以使用pip3安装下列依赖
- matplotlib
- pillow
- jupyter
克隆结束后
cd tf_trt_models
./install.sh python3
等待…
然后jupyter-notebook
打开浏览器,进入jupyter
进入example 分类demo
一步步运行
(如果第一个报错在%那的话可以吧那个语句给删掉)
下载模型很慢…
优化过程也很慢…
结果出来了,推理正确,你也可以把图片换成其他imagenet其他类的图片试试能不能推理得出来,看看速度有多大提升.
请关注我的后续内容
预告一下,之后打算写一篇关于调用tx2的gpio完成一个简单项目的过程,嗯,还有新的tensorflow2.0基础用法和构建模型的方法