step1: 刷机
按照博客 https://blog.csdn.net/DeepWolf/article/details/88640937
将tx2 刷成 JetPack3.3 版本
step2: 安装tensorflow
安装依赖
按照官网安装依赖 https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html
即只执行官网的第二步: 2. Prerequisites and Dependencies
下载轮子安装tensorflow1.9.0
轮子地址:https://developer.nvidia.com/embedded/downloads#?search=tensorflow
如下选中对应的版本:
进行安装:
sudo pip3 install tensorflow_gpu-1.9.0+nv18.8-cp35-cp35m-linux_aarch64.whl
至此完成tensorflow1.9.0的安装
说明
至此可能大家有些疑惑,为什么不直接按照官网推荐的安装的方式:
sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v33 tensorflow-gpu
进行安装呢?原因就是这种安装方式会默认安装成 tensorflow1.14.0,这个版本太高,与1.9.0版本相比,有很多的接口发生了变动,从而导致deep_sort_yolov3运行失败.所以推荐大家直接下载1.9.0版本的轮子进行安装.
step3: 安装keras
如果直接:
sudo pip3 install keras==2.2.5
会出现scipy库安装不上而导致安装失败,可按 Jetson TX2 安装Keras 出现Failed cleaning build dir for scipy 这篇博客提供的方式先通过apt-get安装scipy,然后再pip安装keras,亲测有用
说明
网上有很多博客里说一定要使 keras 版本与 tensorflow.keras 的版本一致,才能保证正常运行,实际上1.9.0版本的 tensorflow.keras 的版本是2.1.6,当我按照这个版本进行 keras 安装时,直接发出警告,tensorflow.keras里面的某些模块的接口不对,需要进行更改,看来这两个版本不是一致的.随即进行了多个版本的安装测试,最后发现安装 keras 2.2.5版本就不会有警告.事实说明 tensorflow.keras里面的版本是比实际的keras版本更高的(猜测).
step4: 安装deep_sort_yolov3依赖库
NumPy
在安装 tensorflow 的依赖时已经安装
sklearn
sudo pip3 install -U Cython
sudo pip3 install -U sklearn
Pillow
sudo pip3 install -U Pillow
OpenCV
可按照博客 https://jkjung-avt.github.io/opencv3-on-tx2/ 进行安装,这个博客能保证 opencv 库安装到python3.5路径下.
step5: 下载 deep_sort_yolov3 和模型
下载 deep_sort_yolov3
git clone https://github.com/Qidian213/deep_sort_yolov3
下载并转换模型
官网下载 yolo模型 https://pjreddie.com/darknet/yolo/
然后执行转换:
python3 convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
step6: 测试
推荐一个系统资源查看工具 jetson-stats,安装及查看方式如下:
sudo -H pip3 install jetson-stats
sudo jtop
运行 deep_sort_yolov3 demo
python3 demo.py
结果如下视频所示:
deep
视频像素值:1920*1080
结果输出帧率只有1.3帧左右
基础知识:
yolov3知识讲解 : https://towardsdatascience.com/yolo-v3-object-detection-53fb7d3bfe6b
TensorFlow Keras Tensorflow入门——Keras简介和上手
匈牙利算法 匈牙利算法-看这篇绝对就够了!
NumPy库 NumPy 教程
Sklearn库 Python之Sklearn使用教程
设置python3为默认python https://blog.csdn.net/WK785456510/article/details/81094040
小技能
查阅cudnn版本,从而确定JetPack版本
cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
cudnn版本与JetPack版本对应关系:
JetPack 3.3 -> cudnn 7.1.5
JetPack 3.2 -> cudnn 7.0.5
官网可查具体的对应关系 https://developer.nvidia.com/embedded/jetpack-archive