Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)

好久不见. 提交于 2019-11-29 04:53:55

配置说明

一、刷机/重装系统

二、环境配置

三、参考

一、刷机/重装系统(系统损坏时可按以下步骤重装系统)

1)刷机之前的准备

(1)装有ubuntu16.04的电脑(主机),因为我们要安装的JetPack3.3支持的是16.04的系统。记住主机的剩余空间要留大一点。

2)下载JetPack3.3,详细步骤如下

(1)下载地址:https://developer.nvidia.com/embedded/jetpack

(2)进入下载页面后选择如下的选项进入下一页

(3) 点击下载进入下面的选项

(4)点击 Ubuntu(64-bit)进入下一项,需要注册登录

(5)有账号的就登录,没账号的就注册 一下,界面如下所示

3) 修改Ubuntu系统自带的软件源

(1)把Ubuntu系统自带的源修改为国内的源,中科大源链接:https://mirrors.ustc.edu.cn/repogen/

deb https://mirrors.ustc.edu.cn/ubuntu/ eoan main restricted universe multiverse 
deb-src https://mirrors.ustc.edu.cn/ubuntu/ eoan main restricted universe multiverse 
deb https://mirrors.ustc.edu.cn/ubuntu/ eoan-security main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ eoan-security main restricted universe multiverse 
deb https://mirrors.ustc.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse 
deb https://mirrors.ustc.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse deb-src https://mirrors.ustc.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse 
## Not recommended 
# deb https://mirrors.ustc.edu.cn/ubuntu/ eoan-proposed main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu/ eoan-proposed main restricted universe multivers

 

(2)在终端输入如下命令备份Ubuntu自带的源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

(3)在终端输入以下的命令将Ubuntu原有的源替换为上诉国内的源

sudo gedit /etc/apt/sources.list

(4)在终端输入以下的命令来使更改有效

sudo apt-get update

4)JetPack的安装

(1)进入你存放下载的JetPack包的文件夹,在终端输入以下命令对更改权限

chmod +x ./JetPack-L4T-3.3-linux-x64_b39.run

(2)接着在终端输入以下命令执行安装

sudo ./JetPack-L4T-3.3-linux-x64_b39.run

实际操作效果如下图所示,此时出现弹出窗口-Error。

 别急,出现的原因是之前已经更改了权限,这里再使用 sudo 就会报错,故我们不使用 sudo执行命令即可,

./JetPack-L4T-3.3-linux-x64_b39.run

最终的实际图如下所示图所示。

(3) 在弹出的页面上点击 Next出现如下的页面

(4)继续点击Next出现如下页面

(5)选择“ Jetson TX2 ”继续点击 Next出现如下的页面

(6)选择 “ full ”选项,然后继续点击 Next出现如下的页面

(7)全部选择接受,继续点击Next,出现如下的页面

(8)输入密码。继续点击Authenticate,出现如下的界面

特别注意:根据需要选择安装Action,如若仅需要重装系统,则只需将Target下 linux for。。以及Flash OS image保持install状态,其他安装项更换为no action状态即可!!!

(9) 等下载完,继续点击 Next出现如下的界面

(10)继续点击 Next 出现如下的界面

(11)选择上图所示, 此时用一根网线将TX2和主机连入同一个路由器,并ping以下看能否ping通,具体实际图如下

(12)继续点击操作(10)的Next出现如下的界面

(13) 选择默认,继续点击 Next出现如下的界面

(14)继续点击 Next 出现如下的界面

(15)此时,将TX2断电,并将TX2开发板的 microUSB 和主机相连,然后再将TX2上电开机,紧接着按下TX2的RECOVERY按键不松手,接着按下RESET按键并松手2秒后再松开RECOVERY按键。一定要按顺序来。

(16)再重开一个终端,输入命令:lsusb,看是否出现有 “NVIDIA Corpration”等设备,如出现则说明已成功进入Recovery模式。实际图如下

(17)当成功进入Recovery模式后, 我们便在如下的界面终端中按入 Enter 进行后面的操作

 (18)在(17)操作执行完以后便开始进行刷机,这期间就是等待,然后在等待的过程中不出意外会遇到下面的坑,主机一直搜索TX2的IP地址,无法进行下去。但是此时你主机和TX2却是能相互ping通的,然后你就蒙了,不知咋办。别急,后面有奇招。

(19)出现上诉坑时, 我们先别选 2 选项,在TX2的系统上,我们进入 home 文件下发现有 “ report_ip_ to_host.sh ”,我们在终端用权限打开该文件,并在文件里面写上主机的 IP 地址。然后在TX2的终端执行如下的命令,主机端执行 Retry 即可解决上诉问题,接着执行剩余的刷机工作。

(20) 紧接着在执行过程中又会跳出如下的问题,显示不能在TX2上安装cuda,这我们可就不乐意了,你不让我安装 cuda,那我用TX2来有何用,对吧,既然这种方式不能安装,那我们就跑到TX2上面去按照提示自己安装。凡是遇到这种类似的情况我们都根据他的提示跑到TX2上面去自己安装即可解决。

(21)上诉操作完成后等一会儿便会最终进入下面的界面,此时,恭喜你,你已刷机成功。可以去嗨了。

(22) 关闭上诉终端,不要移除已下载的文件,万一以后还要刷多次呢,点击 finish 完成退出。

 至此,系统刷机完成。接下来要进行深度学习环境配置工作。

二、环境配置

本人已经提供相应安装包放置于tx2-software文件夹下,如需配置安装其他环境请自行下载安装

链接:https://pan.baidu.com/s/1R6fGJ1EElr3lI7b79cyYWw 
提取码:girg 

首先将tx2-software拷入 tx2的 /home/nvidia/目录下

0.更新tx2更新源

  1. sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak    #为防止误操作后无法恢复,先备份原文件sources.list  
  2. sudo vim /etc/apt/sources.list   #打开sources.list,将原来的内容使用”#”符号全部注释掉,然后在文件结尾出添加中国科学技术大学或清华的源  

将文件改为国内源(注意修改之前先将原文件备份),还有一点要注意,换源需要换ARM的源,不要换成了pc平台的软件源。这里推荐两个国内源,将原来文件里面的内容全部替换成下面两个源之一就可以:

清华源:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse    
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse    
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse    deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted    
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted  

中科大源:

deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse    
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse    
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse    
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse    
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse    
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse    
deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted    
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricted  

替换之后,执行

sudo apt-get update  

1.cuda安装

CUDA® 是NVIDIA 创造的一个并行计算平台和编程模型。它利用图形处理器 (GPU)能力,实现计算性能的显著提高。借助目前已售出的数百万支持 CUDA 的 GPU,软件开发人员、科学家和研究人员正在各种各样的应用程序中使用 GPU 加速计算。CUDA工具包为C和C ++开发人员构建提供了一个全面的开发环境 ,GPU加速的应用程序。该工具包包括用于NVIDIAGPU的编译器,数学库以及用于调试和优化应用程序性能的工具。

版本查看:

安装Cuda(TX2已经自带,检查后可跳过这一步)

若没有跳出cuda的版本,则需手动安装cuda:

1)手动安装

cd /home/nvidia/tx2-software/cuda chmod 777 cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb bash cuda-l4t.sh cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb 8.0 8-0

若出现缺少依赖项错误,则需要使用

sudo apt-get install -f 解决

按照以上命令下载cuda安装包

若无cuda安装包,则可使用

$ wget http://developer.download.nvidia.com/devzone/devcenter/mobile/jetpack_l4t/013/linux-x64/cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb

然后安装cuda:

$ sudo dpkg -i cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb $ sudo apt-get update $ sudo apt-get install cuda-toolkit-8-0

2)环境配置

sudo vim ~/.bashrc

将下面指令添加到最后

export PATH=/usr/local/cuda-8.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:

 

source ~/.bashrc

使用nvcc -V验证cuda是否安装成功

如果需要卸载:

cd /usr/local/cuda/bin sudo ./uninstall_cuda_8.0.pl sudo rm -rf cuda-8.0

2.cudnn

NVIDIA Cudnn是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA Cudnn可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行CAFFE软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。

Cudnn支持的算法

1. 卷积操作、相关操作的前向和后向过程。

2. pooling的前向后向过程

3. softmax的前向后向过程

4. 激活函数的前向后向过程 

a)ReLU

b)sigmoid

c)TANH

5. Tensor转换函数,其中一个Tensor就是一个四维的向量。

安装Cudnn

cd /home/nvidia/tx2-software/cudnn sudo dpkg -i libcudnn6_6.0.21-1+cuda8.0_arm64.deb sudo dpkg -i libcudnn6-dev_6.0.21-1+cuda8.0_arm64.deb cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2

 

3.python安装

Python是一种广泛应用在深度学习开发设计的计算机语言,它具自己的相关特色,比如它具有十分简捷的语言技能,以下的文章就是对Python特色的相关实际介绍,以下就是文章的具体问题的相关描述。

Tx2上默认是python2版本的,已经过时了,因此我们需要讲原始python替换为python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

把两个版本的python加入到alternatives列表中,然后运行以下命令配置

sudo update-alternatives --config python

选择python3 版本 然后退出 运行python 查看版本

4.pip安装

1)安装pip

sudo apt-get install python3-pip

2) 查看版本

pip3 -V

3)升级版本

pip3 install --upgrade pip

4)错误解决(若发生如下错误)

解决:

7)解决问题

sudo chmod 777 /usr/bin/pip3 sudo vim /usr/bin/pip3

将原来的:

from pip import main

if __name__ == '__main__':

    sys.exit(main())

改为:

from pip import __main__

if __name__ == '__main__':

    sys.exit(__main__._main())

问题得到解决:

5.tensorflow-gpu安装

Tensorflow是Google开源的基于数据流图的深度学习框架,支持python和c++程序开发语言。轰动一时的AlphaGo就是使用tensorflow进行训练的,其命名基于工作原理,tensor 意为张量(即多维数组),flow 意为流动。即多维数组从数据流图一端流动到另一端。目前该框架支持 Windows、Linux、Mac乃至移动手机端等多种平台。

安装:

可以使用pip命令直接安装,但通常版本不合适,如需其他版本可自行下载安装

本文使用下载好的tensorflow 1.4.1版本进行安装

  1. cd /home/nvidia/tx2-software
  2. sudo pip install tensorflow-1.4.1-cp35-cp35m-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. 可以加入在上述命令后加入 -i https://pypi.tuna.tsinghua.edu.cn/simple 指定清华源

可在jetson官方下载中心下载对应的python版本的whl文件,然后用cd命令定位到whl文件,然后使用类似以下命令:

  sudo pip install tensorflow-1.4.1-cp35-cp35m-linux_aarch64.whl

运行python

import tensorflow as tf

tf.__version__

若出现上图所示warning ,则是因为numpy版本过高,因此需要将numpy降级

先卸载numpy

  1. sudo pip3 uninstall numpy

再将numpy降级

  1. sudo pip3 install numpy=1.16.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

tf.__version__

表示安装成功

6.keras安装

Keras是基于TensorFlow和Theano(由加拿大蒙特利尔大学开发的机器学习框架)的深度学习库,是由纯python编写而成的高层神经网络API,也仅支持python开发。它是为了支持快速实践而对tensorflow或者Theano的再次封装,让我们可以不用关注过多的底层细节,能够把想法快速转换为结果。Keras默认的后端为tensorflow,如果想要使用theano可以自行更改。tensorflow和theano都可以使用GPU进行硬件加速,往往可以比CPU运算快很多倍。因此如果你的显卡支持cuda的话,建议尽可能利用cuda加速模型训练。

1)安装依赖项

  1. sudo apt-get install python3-scipy
  2. sudo pip3 install cython -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. sudo apt-get install libhdf5-dev
  4. sudo apt-get install python3-h5py
  5. sudo apt-get install libfreetype6-dev
  6. sudo pip3 install pypng
  7. pip3 install libpng-devel
  8. sudo pip3 install python3-matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

若出现如下错误

解决方法:

  1. sudo apt-get install libfreetype6-dev
  2. sudo pip3 install pypng
  3. pip3 install libpng-devel
  4. sudo pip3 install matplotlib

2)安装keras

sudo pip3 install keras -i https://pypi.tuna.tsinghua.edu.cn/simple

7.opencv安装

openCV 是一个开放源代码的计算机视觉应用平台,目标是实现实时计算机视觉

1.git clone https://github.com/Alro10/OpenCVTX2.git

2.cd OpenCVTX2

3.vim buildOpenCV.sh

4.将.sh文件中的cuda改为8.0

5.将opencv3打开  opencv2关闭

保存退出

  1. chmod 777 buildOpenCV.sh
  2.  ./ buildOpenCV.sh

若出现如下错误

E: Sub-process /usr/bin/dpkg returned an error code (1)错误解决

 

在用apt-get安装软件时出现了类似于

install-info: No dir file specified; try --help for more information.dpkg:处理 gettext (--configure)时出错: 子进程 post-installation script 返回了错误号 1 在处理时有错误发生:

findutils

E: Sub-process /usr/bin/dpkg returned an error code (1)

办法如下:

1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old     ——现将info文件夹更名

2.$ sudo mkdir /var/lib/dpkg/info              ——再新建一个新的info文件夹

3.$ sudo apt-get update                 ——更新软件源

 $ sudo apt-get -f install 

4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old      ——执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下

5.$ sudo rm -rf /var/lib/dpkg/info               ——把自己新建的info文件夹删掉

6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info      ——把以前的info文件夹重新改回名字

到此问题顺利解决!

运行生成opencv文件夹 在build里编译安装。

  1. cd ~/opencv/build
  2. sudo make
  3. sudo make install

查看安装版本:pkg-config opencv --modversion

三、参考链接

https://blog.csdn.net/DeepWolf/article/details/88640937

https://www.jianshu.com/p/bb4587014349

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!