Install ubuntu Jetson TX2 + Tensorflow

Host软件的安装

主机需要安装的软件列表有Cuda / Tensorrt / Tensorflow GPU/OpenCv/cmake。安装以上软件需要有NvidiaGPU的支持,如果没有。可以安装没有GPU的版本

1.安装Cuda9.0

可以参考这个英文链接

  1. 更新显卡驱动

    #自动更新显卡驱动,更新后可能会出现只有独显插口的显示屏才能亮
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt update 
    

    检查显卡驱动是否更新
    打开ubuntu右上角设置-> about this computer
    在这里插入图片描述如果出现了显卡型号说明显卡已经更新
    如果没有更新
    打开系统设置->软件更新->附加驱动->更新为Nvdia的驱动

  2. 安装 cuda,先到cuda官网下载cuda9.0的安装包。由于jetson-x2软件的安装包的cuda型号为9.0所以为保证一致性,也要安装cuda9.0

    sudo dpkg -i cuda-      #小技巧终端输入命令时可以用tab补全文件名
    sudo apt-key add /var/cuda- "autofill with tab" /7fa2af80.pub 
    sudo apt-get update
    sudo apt-get install cuda
    
  3. link cuda to bash. //很多软件都需要这个步骤

    sudo nano ~/.bashrc
    

    打开vi编辑器(只能用键盘操作),用键盘移动到最后一行,加入以下两行代码

    export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    

nvcc -V //查看cuda版本

2.安装 tensorrt 4.0

参考这个链接

  1. 下载nv-tensorrt-repo-ubuntu1604-cuda9.0-ga-trt4.0.1.6-20180612_1-1_amd64.deb 的deb安装包
  2. 终端输入以下代码
    sudo dpkg -i nv-tensorrt "autofill with tab" .deb
    sudo apt-key add /var/nv-tensorrt "autofill with tab" /7fa2af80.pub 
    sudo apt-get update  //不更新可能会报错
    sudo apt-get install tensorrt
    

3.安装pycuda for tensorrt

没有安装pip可以参考终端报错安装pip ·教程

pip install 'pycuda>=2017.1.1'

4.安装bazel 0.15.0

install bazel 0.15.0 with binary installer,
参考教程

sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python  
chmod +x bazel-<version>-installer-linux-x86_64.sh #前提已经下载安装包到本地,改变文件运行权限
./bazel-<version>-installer-linux-x86_64.sh --user
cd ~
gedit .bashrc #最后两行加入下面两句话
source /home/lilanluo/.bazel/bin/bazel-complete.bash
export PATH="$PATH:$HOME/bin"
#更新
source ~/.bashrc

5. 安装cmake

cmake用于编译执行C++软件,安装openCv也需要cmake
参考官方教程

  1. 下载 cmake-version.zip 本教程使用的是cmake-3.13.4
    unzip  cmake-version.zip  
    cd cmake-folder  		
    ./bootstrap
    make
    make install
    

6. 安装支持tensorrt的tensorflow 的GPU版本

参考教程

  1. 安装支持包
    sudo apt-get install git python-dev python3-dev build-essential swig libcurl3-dev libcupti-dev golang libjpeg-turbo8-dev make tmux htop cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev apt-transport-https ca-certificates curl software-properties-common coreutils mercurial libav-tools libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev libsdl1.2-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev libtiff5-dev libx11-6 libx11-dev fluid-soundfont-gm timgm6mb-soundfont xfonts-base xfonts-100dpi xfonts-75dpi xfonts-cyrillic fontconfig fonts-freefont-ttf wget unzip git nasm tar libbz2-dev libgtk2.0-dev libfluidsynth-dev libgme-dev libopenal-dev timidity libwildmidi-dev python-pip python3-pip python-wheel python3-wheel python-virtualenv
    #如果中途报错error则
    sudo apt-get update //更新资源包后再执行一遍上述命令
    
    
  2. 安装numpy等支持包
    pip3 install -U --user keras_applications==1.0.6 --no-deps
    pip3 install -U --user keras_preprocessing==1.0.5 --no-deps
    pip3 install numpy
    
  3. 用git 下载源码
    cd ~ 
    git clone --single-branch -b v1.10.0 https://github.com/tensorflow/tensorflow
    cd ~/tensorflow
    git checkout v1.10.0
    ./configure
    
    期间终端的应答参考教程即可,基本都是enter就好
    在这里插入图片描述
    ./configure需要的步骤主要是
	1. python  -/usr/bin/python3
	2. cuda9.0 -yescuda9.0 -yes
	3. cudadnn -7.1
	4. NCCL -1.3
	5. note:: 如果cuDNN报错,原因可能是tensorrt没装好,可以再运行一次以下两个步骤

  1. bazel build
    bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
    #如果报错,尝试bazel clean 后再执行一遍上述步骤
    bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg/
    pip3 install /tmp/tensorflow_pkg/tensorflow-1.10.0-cp35-cp35m-linux_x86_64.whl
    

8. Install Tensorflow cpp for build with cmake

参考教程

bazel build //tensorflow:libtensorflow_cc.so \
    && sudo mkdir -p                /usr/local/include/google/tensorflow \
    && sudo cp -r bazel-genfiles/*  /usr/local/include/google/tensorflow/ \
    && sudo cp -r tensorflow        /usr/local/include/google/tensorflow/ \
    && sudo find                    /usr/local/include/google/tensorflow -type f  ! -name "*.h" -delete \
    && sudo cp -r third_party       /usr/local/include/google/tensorflow/ \
    && sudo cp bazel-bin/tensorflow/libtensorflow_cc.so /usr/local/lib \
    && sudo cp bazel-bin/tensorflow/libtensorflow_framework.so /usr/local/lib \
    && cd ..

9. 安装Install protobuf 3.6.0

git clone https://github.com/google/protobuf \
    && cd protobuf \
    && git checkout v3.6.0 \   ###注意一定要3.6的版本
    && ./autogen.sh \ #若提示.autoreconf: not found ,则执行
    #sudo apt-get install autoconf automake libtool
    #再执行一遍上述程序 
    && ./configure --prefix=/usr \
    && sudo make install \
    && cd ..

10. Install Eigen3 library

一. Eigen3库可能已经在 /usr/include/.安装了,如果已经有一个版本了,则执行以下步骤:
这个版本可能是错误的,所以需要被tensorflow路经:/tensorflow/bazel-tensorflow/external/eigen_archive 的正确版本替代。方法:

  1. 将/tensorflow/bazel-tensorflow/external/eigen_archive 文件复制到 cd/home/lukas and rename it manually to "eigen3"
  2. 删除/usr/include的错误版本
    sudo rm -r /usr/include/eigen3
    
  3. 复制正确的版本
    sudo cp -r /home/lukas/eigen3 /usr/include 
    

二. 如果eigen3不存在(判断是否存在可以使用)

  1. 将/tensorflow/bazel-tensorflow/external/eigen_archive 文件复制到 cd/home/lukas and rename it manually to "eigen3"
  2. 复制正确的版本
    sudo cp -r /home/lukas/eigen3 /usr/include 
    

11. how to install openCv3.4

install openCv3.4

12. how to remove oldOpenCvVersion 没用环境会崩掉

reinstall openCv

solve protobuf version Problem

remove old veision

13.Compile cmake project: jetson-workspace.

cd jetson-workspace
cmake CMakeLists.cmake
make
RUN DEMO APPLICATIONS

ATTENTION: TO RUN camera_test with BuildIn Camera install OPENCV3.4.0 with GStreamer 1.0 Support!
src: https://www.jetsonhacks.com/2018/05/28/build-opencv-3-4-with-cuda-on-nvidia-jetson-tx2/

TX2环境搭建

1. 刷机

刷机教程
刷机后板子会装好CUDA / TENSORRT

2. 安装GPU版本的TensorFlow

bash install_tensorflow_on_jetson.sh
bash BuildTensorflow.sh -b v1.10.1 -p python3
./InstallandClean.sh

3. 移动bazel

sudo cp /home/nvidia/JetsonTFBuild/bazel /usr/local/bin

Install Tensorflow cpp for build with cmak

cd JetsonTFBuild/tensorflow

bazel build //tensorflow:libtensorflow_cc.so \
    && sudo mkdir -p                /usr/local/include/google/tensorflow \
    && sudo cp -r bazel-genfiles/*  /usr/local/include/google/tensorflow/ \
    && sudo cp -r tensorflow        /usr/local/include/google/tensorflow/ \
    && sudo find                    /usr/local/include/google/tensorflow -type f  ! -name "*.h" -delete \
    && sudo cp -r third_party       /usr/local/include/google/tensorflow/ \
    && sudo cp bazel-bin/tensorflow/libtensorflow_cc.so /usr/local/lib \
    && sudo cp bazel-bin/tensorflow/libtensorflow_framework.so /usr/local/lib \
    && cd ..

4. 安装Cmake3.13.4

下载安装包,解压, 以.tar.gz结尾的安装包为源码,然后可以用下面的命令在TX2进行编译:

./bootstrap
  make
  make install

5. 安装protobuf 3.6.0```python

git clone https://github.com/google/protobuf \
    && cd protobuf \
    && git checkout v3.6.0 \
    && ./autogen.sh \
    && ./configure --prefix=/usr \
    && sudo make install \
    && cd ..

6. 安装Eigen3lib

  • 参考host机改路径即可
  1. 考虑到可能在/usr/include/已经有eigen3的了。但是这个 版本需要被/tensorflow/bazel-tensorflow/external/eigen_archive替换
  • tensorflow/bazel-tensorflow/external/eigen_archive 复制到 /home/Nvidia并且重命名为eigen3
  1. 删除/usr/include的错误版本
    sudo rm -r /usr/include/eigen3
    
  2. 复制正确的版本
    sudo cp -r /home/Nvidia/eigen3 /usr/include 
    

7. 安装openCV3.4.0

参考host机

8. 编译执行

参考host机子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值