本文总结了自带系统安装cuda等深度学习环境和使用jetpack3.3刷机的步骤,虽然自己的代码没用上,但有需要的人可以参考一下。
PS:Jetpack4.5的刷机教程请移步另一篇文章:
xyl-507:Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack4.5.1,python3.6,torch1.6,torchvision0.7)
一.自带系统搭建深度学习环境(成功,但cuda版本太低,代码不支持)
当时自己不想刷机,还有其他人的代码在板子上,因此费了很大劲找对应的安装包。
有好心人给出了jetpack刷机时下载的安装包
链接:/s/1R6fGJ1EElr3lI7b79cyYWw
提取码:girg
/u011689890/article/details/100523094
致谢:Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)
1.安装cuda8.0
a)首先下载安装包cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb(也可以去Jetson Download Center的官网下载)
wget http://developer./devzone/devcenter/mobile/jetpack_l4t/013/linux-x64/cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb
b)然后更改安装包权限
chmod 777 cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb
c1)使用jetpack的脚本文件cuda-l4t.sh安装cuda
(在 jetpack 的安装目录下的 _install/目录下有一个叫cuda-l4t.sh的脚本)
bash cuda-l4t.sh cuda-repo-l4t-8-0-local_8.0.84-1_arm64.deb 8.0 8-0
c2)也可以使用以下命令安装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
d)环境配置
首先打开配置文件
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
e)验证cuda的安装
使用nvcc -V验证cuda是否安装成功
参考:Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)
2.安装cudnn6.0.21
首先下载cudnn的安装包(我在csdn的下载里下的,前面给出了好心人分享的百度云连接)
libcudnn6_6.0.21-1+cuda8.0_arm64.deb
libcudnn6-dev_6.0.21-1+cuda8.0_arm64.deb
然后解压安装
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 # 查看版本
我用的csdn下载链接:(不建议,上面有百度云的,免费的)
libcudnn6_6.0.21-1+cuda8.0_arm64.deb-机器学习工具类资源-CSDN文库
libcudnn6-dev_6.0.21-1+cuda8.0.deb-机器学习工具类资源-CSDN文库
3.设置默认python
TX2自带的是python2.7和3.5,你需要哪一个就设为默认的。我设的是2.7,所以选的是python2
首先把两个版本的python加入到alternatives列表中
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
然后运行以下命令配置,选择python2版本对应的序号, 然后退出
sudo update-alternatives --config python
最后可以运行 python ,查看版本
原文链接:Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)
4.安装pip
安装pip
sudo apt-get install python3-pip
查看版本
pip -V # python2 pip3 -V # python3
升级版本
pip install --upgrade pip
5.安装torch1.0(Nvidia的官网也有安装说明!!)
官网的安装说明书:https://forums./t/pytorch-for-jetson-version-1-10-now-available/72048
首先得去Nvidia的官网下载专门针对jetson架构的torch安装包,我的是:
torch-1.0.0a0+bb15580-cp27-cp27mu-linux_aarch64.whl
然后开始安装
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev pip3 install Cython pip3 install numpy torch-1.0.0a0+bb15580-cp27-cp27mu-linux_aarch64.whl
安装完成可以输入python,再 import torch,不报错就是成功了。
6.安装torchvision 0.2.2
torch版本对应的torchvision在Nvidia的官网上面有
这个低版本的torchvision可以直接通过pip安装
pip install torchvision==0.2.2
也可以使用以下命令安装
sudo apt-get install libjpeg-dev zlib1g-dev git clone -b v0.2.2 /pytorch/vision torchvision # 版本可以自己选择 cd torchvision sudo python setup.py install
参考
Jetson AGX Xavier避坑指南(五)--环境搭建2.(python3、conda、ros、pytorch、tensorflow)
Jetson TX2 入门 --刷机(jetpack3.2)
Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)
7.安装其它工具包(强烈推荐参考网站!!)
Jetson Packages Family 整理了包括 Matplotlib、Pycuda、Pillow、Pandas 在内的多个常用依赖库在jetson平台下的安装方法,甚至还有VSCode、Pycharm、Docker、Qt5等工具的安装方式。
链接:/yqlbu/jetson-packages-family
例如:安装matplotlib输入
sudo apt install libfreetype6-dev -y sudo apt install python3-matplotlib -y
8.卸载cuda和cudnn
查看已安装cuda
dpkg -l | grep -i cuda
卸载cuda,我这里一次性卸载
sudo apt-get remove cuda*
查询cudnn相关已安装包
dpkg -l | grep -i cudnn
卸载cudnn
sudo apt-get remove libcudnn7* # 这里的7,根据自己安装的cudnn来输入
参考:Nvidia jetson nano 配置 CUDA9 CUDNN7.1.5
二.使用Jetpack4.2刷机(未能成功)
这个包安装之后,登录界面一直进不去,提示我的账号或密码错误,反复确认是正确的,我还特地重新注册了个账号,同样的错误。后面才发现是这个包太久了,Nvidia应该不怎么维护了。
参考官网的论坛:Failed to login to Sdkmanager 0.9.12.4180
Jetpack4.2登不上去的原因
三.使用Jetpack3.3刷机(成功)
强烈建议给TX2烧机时选择jetpack4.2以上的。jetpack3.3没有对应的.whl,踩坑无数还没有成功,配置深度学习环境很难!!
1.虚拟机安装Ubuntu16.04
jetpack3.3要求的是Ubuntu16.04,我的PC机都是18.04,因此只能用虚拟机来刷机。
a)根据以下文章,下载和安装虚拟机及Ubuntu16.04系统
(特别注意分配给虚拟机的内存最好为:50G!!!我刚开始设的20G,下载刷机的安装包提示空间不足。)
VMware安装Ubuntu16.04超详细教程
ubuntu 16.04 镜像下载
ubuntu-16.04.6安装教程_冉半夏生的博客-CSDN博客
b)设置完虚拟机之后,刷机时一定要设置虚拟机网络连接模式为桥接模式,并复制物理网络连接状态,不然在刷完系统后装软件会卡死在等待获取设备IP地址这一步。
/NSSC_K/article/details/106092499
c)换源
把Ubuntu系统自带的源修改为国内的源,我用的是清华源链接,为什么要换国内源呢,因为快快快,提高成功率!!!
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份 sudo gedit sources.list # 也可以用vim,我习惯用gedit,就是打开这个文件把官方源删掉换成国内的
将下面清华源内容覆盖掉原文件内容,注意如果清华源不行,可以更换阿里源、中科大源、网易源等,如果都失败还是用官方的,可能更新速度会慢点。
deb https://mirrors.tuna./ubuntu/ xenial main restricted universe multiverse deb-src https://mirrors.tuna./ubuntu/ xenial main restricted universe multiverse deb https://mirrors.tuna./ubuntu/ xenial-updates main restricted universe multiverse deb-src https://mirrors.tuna./ubuntu/ xenial-updates main restricted universe multiverse deb https://mirrors.tuna./ubuntu/ xenial-backports main restricted universe multiverse deb-src https://mirrors.tuna./ubuntu/ xenial-backports main restricted universe multiverse deb https://mirrors.tuna./ubuntu/ xenial-security main restricted universe multiverse #deb-src https://mirrors.tuna./ubuntu/ xenial-security main restricted universe multiverse
在终端输入以下的命令来使更改有效
sudo apt-get update
2.在虚拟机上下载和安装jetpack3.3(需要全程联网)
a)从官网下载,下载地址为:/embedded/downloads/archive
选择点击JetPack3.3进入
然后Downloads Ubuntu(64-bit)
下载的安装包为:JetPack-L4T-3.3-linux-x64_b39.run
b)找到JetPack所在的位置打开终端(Ctrl + Alt + T)
chmod +x ./JetPack-L4T-3.3-linux-x64_b39.run ./JetPack-L4T-3.3-linux-x64_b39.run # 运行jetpack
运行安装包,下面开始刷机
3.开始刷机(需要全程联网)
运行首先出现,点next
/qq_54480207/article/details/123382380
然后选择安装包的下载位置,和是否收集用户信息
自己根据需要选择
/qq_54480207/article/details/123382380
开始选择和下载安装包
建议全部选择,也可以根据需要安装(可以不给 host 安装)
/qq_54480207/article/details/123382380
然后出现,接受协议
输入虚拟机的root密码
/qq_54480207/article/details/123382380
接下来就开始下载和安装
下载完成之后,继续next
/qq_54480207/article/details/123382380
4. 给TX2安装系统和各种库
TX2提供两种刷机的方式,开发板刷机过程中需要全程联网,所以这个时候你家可千万别断网哦!第一种是有线刷机,第二种是无线刷机。很多博主都采用第一种刷机方式,并提示没有用第二种刷机成功过。所以我也是采用的第一种刷机方式。
此时,你需要具备两根网线,一个路由器或者交换机(我用的是交换机)。此时用网线分别将TX2和你的电脑接入到同一个交换机下。没有路由器就只能刷进去一个系统,剩下一些安装包可以手动安装。
打开TX2的终端,输入以下命令,获取到TX2的IP地址:
ifconfig
192.168.43.150 就是我的tx2的地址
获取到TX2的地址后,在虚拟机上ping一下,看看是否能够ping通。
ping 192.168.43.150
然后选择,默认就行
然后出现
此时弹出一个界面,接下来安装显示的操作说明,要有一些手动的操作,让tx2进入恢复模式
/qq_54480207/article/details/123382380
步骤是
a.确认处于关机状态,然后拔掉电源适配器,使用官方的microUSB线(切记!!!)连接TX2和PC机
b.插上电源适配器,按一下power键开机
c.按下REC(RECOVERY FORCE)不要松开!!
d.再按下RST(reset按下松开,稍微有一定的按键时长)
e.REC保持两秒后松开
(需要说明一下:tx2不要与电脑的usb3.0连接,在安装cuda的时候报错了,后面试着换了一下usb2.0的就成功了)
进入恢复模式之后,可以在终端输入
lsusb
查看,有 Nvidia Corp,就证明链接成功,可以进行操作
/NSSC_K/article/details/106092499
在完成以上步骤并没有错误后,在第一个终端post installation界面中按下回车键,便开始安装
出现以下界面,安装cuda,cudnn等
出现上图时TX2开始开机,最好把TX2连上网!!!
(排坑)在决定IP时很可能卡着不动,
/NSSC_K/article/details/106092499
有可能是没有设置虚拟机的桥接模式
在tx2上找到report_IP_to_Host.sh,并运行
sudo ./report_IP_to_Host.sh
主机上再选择retry,一般就解决了。
/u011689890/article/details/100523094
report_IP_to_Host.sh的参考文章:Nvidia TX2 刷机+深度学习环境配置(cuda 8.0+python 3.5+opencv 3.4+tensorflow 1.4.1+keras+pip3)
最后出现以下界面,代表安装完成
安装完成之后弹出以下界面,询问是否删除下载文件,可删可不删,如果还进行刷机的话,建议不删除。
/NSSC_K/article/details/106092499
5.检查是否刷机成功
a)运行multimedia自带的sample
进入tegra_multimedia_api/samples/backend中
cd tegra_multimedia_api/samples/backend ./backend 1 ../../data/Video/sample_outdoor_car_1080p_10fps.h264 H264 --trt-deployfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.prototxt --trt-modelfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.caffemodel --trt-forcefp32 0 --trt-proc-interval 1 -fps 10
出现下图
编辑切换为居中
添加图片注释,不超过 140 字(可选)
b)运行cuda9.0的海动图sample:
进入文件夹
cd NVIDIA_CUDA-9.0_Samples/bin/aarch64/linux/release/ # 这里的version需要看你自己安装的CUDA版本而定 ./oceanFFT
然后出现,表示成功
/hunzhangzui9837/article/details/82992289
参考:
Jetson TX2上的demo在下面网址可以看,只适用于jetpack3.x,jetpack4.x没有multimedia的sample。
Jetson TX2上的demo(原创)
Jetson TX2刷JetPack3.3(方法一)
Jetson tx2 安装jetpack_3.3手动安装cuda9.0,cudnn7.1
Jetson TX2 入门 --刷机(jetpack3.2)
6.设置python,安装pip,torch1.0.0和torchvision0.2.2
在 一.自带系统 中已经讲过了,这里不赘述了。
本来使用jetpack安装的,nvidia在官网放了对应的.whl文件,但最低只支持jetpack4.2的,所以只能自己下载源码后编译!!!
当然要安装torch1.0以下的也得自己编译安装。
https://forums./t/pytorch-for-jetson-version-1-10-now-available/72048
踩坑记录
1.运行代码时提示
ImportError: libcudart.so.10.0: cannot open shared obiect file: No such file or directory
查了一下:应该是需要安装cuda10.0。用前面安装的cuda8.0和9.0运行代码时,都报这个错。
刚开始是以为torch的依赖包没安装,去Packages for Linux and Unix网站搜索了一下没找到对应的jetson的包。
继续查询了一下:libcudart.so.10.0确实是指的是需要cuda10.0的版本
参考:
OSError: libmpi_cxx.so.20: cannot open shared object file: No such file or directory
【tensorflow】缺少libcudart.so.11.0和libcudnn.so.8解决方法_摇曳的树的博客-CSDN博客_libcudart.so.11.0
2.在python2.7时安装cuda9.0报错(未解决)
刚开始以为第一个坑的错误是cuda8.0不行,想换个9.0。安装命令为:
bash cuda-l4t.sh cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb 9.0 9-0
报错:
E: Unable to locate package cuda-toolkit-9-0
找到的文章说换个命令:
sudo dpkg -i cuda-repo-l4t-9-0-local_9.0.252-1_arm64.deb
会出现:
The public CUDA GPG key does not appear to be installed.
To install the key, run this command:
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
然后输入:
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub sudo apt update sudo apt install cuda-toolkit-9-0
然而对我来说,还是不行
参考文章:E: Unable to locate package cuda-toolkit-9-0
附录:
Nvidia的jetson系列的推理速度和算力对比
jetson运行速度对比:/embedded/jetson-benchmarks
/u013673476/article/details/106337795