从TX2 到 配置pip、cmake、OpenCV、tensorflow、Tensorflow Object Detection API

本博客只适合 jetpack3.3刷的Ubuntu16.04。。如果是最新的 jetpack4.2 刷的 Ubuntu18.04,不适应。。亲测

1、tx2 安装 pip 和 cmake

由于用官方刷机教程 jetpack 刷机后,tx2的系统虽然有python 3.5+和python 2.7,但却没有pip和cmake的,而要安装后续的库或者编译库的话,就需要以上两个工具的,所以,第一步需要安装 pip 和 cmake 。

(1)安装 pip

a)安装工具 setuptools

下载地址:https://pypi.org/project/setuptools/#files

本人下载了 setuptools-41.0.1.zip ;
安装方法是:首先解压

                    接着cd进目录, 执行 :

sudo python3 setup.py install

b)安装 pip

下载网址:https://pypi.org/project/pip/#files

本人下载了 pip-19.2.1.tar.gz

安装方法是:首先解压:tar pip-19.2.1.tar.gz;

                    接着cd进目录, 执行

 sudo python3 setup.py install

(2)安装 cmake

a)安装依赖以及清除 tx2 上刷的 cmake 文件
 

sudo apt-get install python-dev 
sudo pip3 install utils 
sudo apt remove cmake 
sudo apt purge --auto-remove cmake

b)安装 cmake

version=3.12
build=3
mkdir ~/Downloads/temp
cd ~/Downloads/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build
./bootstrap
make -j4
sudo make instal

c)检查一下 cmake 版本

cmake --version

d)把camke加入环境变量

首先打开 .bashrc 文件

sudo vim ~/.bashrc

在最后一行加入:

export PATH=/usr/local/bin:$PATH

e)打开后,发现tx2刷机后没有添加CUDNN路径到环境变量,自己添加一下:

export CUDNN_LIB_DIR=/usr/lib/aarch64-linux-gnu
export CUDNN_INCLUDE_DIR=/usr/include

f)刷新环境变量

source ~/.bashrc

 

2、tx2 安装 OpenCV 3.4

(1)移除之前刷机时 TX2 上的OpenCV

sudo apt-get purge libopencv*
sudo apt-get purge python-numpy
sudo apt autoremove
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install --only-upgrade g++-5 cpp-5 gcc-5
sudo apt-get install build-essential make cmake cmake-curses-gui \
                   g++ libavformat-dev libavutil-dev \
                   libswscale-dev libv4l-dev libeigen3-dev \
                   libglew-dev libgtk2.0-dev
sudo apt-get install libdc1394-22-dev libxine2-dev \
                   libgstreamer1.0-dev \
                   libgstreamer-plugins-base1.0-dev
sudo apt-get install libjpeg8-dev libjpeg-turbo8-dev libtiff5-dev \
                   libjasper-dev libpng12-dev libavcodec-dev
sudo apt-get install libxvidcore-dev libx264-dev libgtk-3-dev \
                   libatlas-base-dev gfortran
sudo apt-get install libopenblas-dev liblapack-dev liblapacke-dev
sudo apt-get install qt5-default

(2)安装 python3 版本的numpy-1.16 和 matplotlib,使用pip安装效果更佳,

这里使用国内源安装,因为直接使用 pip 会经常出现连接超时的情况。

之所以安装 numpy-1.16 ,是因为要配合tensorflow-gpu==1.9。否则会出现警告。

如果 sudo pip3 install 安装报错,尝试改为 sudo -H pip3 install 。

sudo apt-get install python3-dev python3-pip python3-tk
sudo pip3 install -i https://pypi.douban.com/simple numpy==1.16
sudo pip3 install -i https://pypi.douban.com/simple matplotlib

(3)修改 matplotlibrc 文件的参数,将第41行修改为  backend : TkAgg

sudo vim /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc

(4)修改 cuda_gl_interop.h 文件的参数

sudo vim /usr/local/cuda/include/cuda_gl_interop.h

修改62-68行内容如下:(注释一些代码)

//#if defined(__arm__) || defined(__aarch64__)
//#ifndef GL_VERSION
//#error Please include the appropriate gl headers before including cuda_gl_interop.h
//#endif
//#else
#include 
//#endif

(5)重新构建软连接

cd /usr/lib/aarch64-linux-gnu/
sudo ln -sf tegra/libGL.so libGL.so

(6)下载 OpenCV

mkdir -p ~/src
cd ~/src
wget https://github.com/opencv/opencv/archive/3.4.0.zip \
       -O opencv-3.4.0.zip
unzip opencv-3.4.0.zip

(7)编译 OpenCV

tx2 中 设置 CUDA_ARCH_BIN="6.2" 

cd ~/src/opencv-3.4.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D WITH_CUDA=ON -D CUDA_ARCH_BIN="6.2" -D CUDA_ARCH_PTX="" \
        -D WITH_CUBLAS=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON \
        -D ENABLE_NEON=ON -D WITH_LIBV4L=ON -D BUILD_TESTS=OFF \
        -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF \
        -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j4
sudo make install

(8)查看安装版本

python3 -c 'import cv2; print(cv2.__version__)'

或者用控制台 python 后 import cv2 试一下。

 

3、tx2 安装 tensorflow 

(1)安装依赖库

sudo apt-get install python-dev

(2)按照官方教程,只需要运行如下指令:

sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp33 tensorflow-gpu==1.9

但是,老是连接超时,所以,我直接下载了安装包,进行离线安装。

安装包分享到百度云了,如下:(有需要就下载,或者可以自己在线安装)

链接:https://pan.baidu.com/s/1nWuCaxnmuxNc_48YaiMasQ 
提取码:d17p 

 

(3)验证

打开一个终端,运行python3,然后import tensorflow

import tensorflow as tf
tf.__version__

以上全部安装成功后,就可以下载 Tensorflow Object Detection API 配置了

 

4、tx2 配置 Tensorflow Object Detection API

(1)下载 Tensorflow Object Detection API 

https://github.com/tensorflow/models

(2)更新protobuf 

由于刷机自带的protobuf版本较低,需要更新protobuf的版本,但我发现更新的时候出现了各种问题,所以我这里取巧了,先在自己安装了Ubuntu18.04的笔记本上,执行了第(3)中的取巧步骤。然后把生成的proto文件夹复制覆盖。这个文件夹在 research/object_detection/ 中。

当然,你也可以尝试更新 protobuf 。

(3)解压文件 ,然后配置

cd models-master/research/

#######  取巧的步骤,可在其他电脑上先执行,直接把生成的proto文件夹拖过来覆盖使用。
protoc object_detection/protos/*.proto --python_out=.

####  ***为你存放models-master的地址
export PYTHONPATH="${PYTHONPATH}:/home/***/models-master:/home/***/models-master/research/slim/"


python setup.py build

python setup.py install

至此,配置完成。。!!!!!!!!!!!!

弄了两天,成功配置了2台 tx2 。写一下博客来记录过程,以防以后还要配置。

你可能感兴趣的:(从TX2 到 配置pip、cmake、OpenCV、tensorflow、Tensorflow Object Detection API)