jetpack 4.2体验 在jetson tx2上使用python3调用tensorRT推理tensorflow模型

jetpack 4.2安装和体验

  • 引言
    • 安装
      • 下载sdkmanager
      • 登陆
      • 选择环境
      • 选择需要的包进行安装
      • 连接target设备
      • 安装好jetson后要做什么
    • 安装新支持的tensorflow
    • 使用tensorrt在tx2上加速tensorflow模型的推理
    • 请关注我的后续内容

引言

最近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为例说明吧

下载好以后会弹出一个窗口让你连接设备.下面按步骤说明

  1. 为tx2接上电源
  2. 用网线连接tx2和路由器,让主机也接入这个局域网,最好是使用网线而不是wifi
  3. 用数据线连接tx2和主机
  4. 为tx2接上显示器和键盘(没地方插鼠标了,将就一下,有usb扩展的话就用上)
  5. 让tx2进入强制恢复模式
  6. 目光转回主机,选择手动安装(自动不靠谱),并点击flash
  7. 大概在下面那条线到50%的时候,tx2的显示屏亮了,主机端跳出一个窗口让你输入用户名和密码,先别急这个.在tx2键盘上使用tab和enter键操作,选择语言,时区,跳过网络设置,设置用户名和密码然后等待安装完成
  8. 将刚刚主机弹出的窗口中输入刚刚设置的用户名和密码,然后继续安装.一般很难遇到失败的情况.
  9. 等待安装完毕

安装好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

jetpack 4.2体验 在jetson tx2上使用python3调用tensorRT推理tensorflow模型_第1张图片
点击下载tensorflow安装文件

安装步骤

  1. 下载上面的文件(可以使用wget https://developer.download.nvidia.com/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.13.1+nv19.3-cp36-cp36m-linux_aarch64.whl)
  2. 在下载为了节约时间,可以同时安装一些依赖 sudo apt-get install libhdf5-serial-dev hdf5-tools(如果使用国内源会报错)
  3. sudo apt-get install zlib1g-dev zip libjpeg8-dev libhdf5-dev
  4. pip3 install numpy grpcio absl-py py-cpuinfo psutil portpicker grpcio six mock requests gast astor termcolor --user
  5. 新的h5py有bug,不兼容numpy,下载之前的稳定版本pip3 install h5py==2.8 --user
  6. 构建wheel时会很慢,耐心等等,并不是出错了.
  7. 这时tensorflow安装包也差不多下载好了,使用命令pip3 install tensorflow_gpu-1.13.1+nv19.3-cp36-cp36m-linux_aarch64.whl --user进行安装,之后是漫长的等待.
  8. 安装结束后,打开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
一步步运行
(如果第一个报错在%那的话可以吧那个语句给删掉)
jetpack 4.2体验 在jetson tx2上使用python3调用tensorRT推理tensorflow模型_第2张图片
下载模型很慢…
优化过程也很慢…

jetpack 4.2体验 在jetson tx2上使用python3调用tensorRT推理tensorflow模型_第3张图片
结果出来了,推理正确,你也可以把图片换成其他imagenet其他类的图片试试能不能推理得出来,看看速度有多大提升.

请关注我的后续内容

预告一下,之后打算写一篇关于调用tx2的gpio完成一个简单项目的过程,嗯,还有新的tensorflow2.0基础用法和构建模型的方法

你可能感兴趣的:(jetson)