Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)

一、刷机

PyTorch for Jetson - version 1.11 now available - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums

在这里面找好要刷的版本并下载。

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第1张图片

刷机教程现在网上都有很多大佬写得很详细,我是按照这位博主的经验贴走的:

(13条消息) Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack4.5.1,python3.6,torch1.6,torchvision0.7)_来吧,搞学习了!的博客-CSDN博客_tx2刷机

我刷的是Jetpack4.5.1,cuda10.2版本。

:这个过程中也遇到了一些坑:

1.在刷机时主机的内存分得不够,所以一开始刷机的主机内存必须分得足够大(建议分80G以上);

2.在刷机过程中,也遇到这样的报错,我一直点retry都没用,也修改了网络适配为桥接模式,尝试多次后心态不太好了,直接点了skip,然后就跳过了这一步,后面安装过程中一直弹框说网络配置失败,但看到进度条一直在走,没管他,后面居然成功了!

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第2张图片

成功刷机后会自动安装好cuda和cudnn,分别输入

nvcc -V

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

:如果提示找不到该路径,可以自己在系统中查找cudnn_version.h文件的路径,然后再命令中修改。(cuda也是一样,找到安装路径,将环境变量自己配置好,将路径jPATH添加到.bashrc文件中即可)

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第3张图片

完成这一步后调用TX2自带的demo跑起来试试:

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第4张图片

但是每个人的安装路径应该是不同的,所以想跑这个demo,我们得先找到这个文件的路径在哪儿,最方便的方式是直接在根目录下搜oceaFFT这个文件:

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第5张图片

然后在这个目录下进入终端,输入命令:./oceanFFT

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第6张图片

好了,测试成功,我们收起激动的心情,开始下一步工作吧!

二、让风扇转起来吧

(13条消息) 英伟达jetson硬件(NX,nano,AGX,TX1,TX2)通用开机自动开启风扇教程_奶茶不加冰的博客-CSDN博客_jetson nano 风扇设置

不多说了,看这个老哥的帖子。

安装jetson-stats后输入jtop可以非常直观地观测TX2的运行状态,如下图:

三、安装archiconda

(在此之前,先修改一下Ubuntu的镜像源吧,这样能为后面下载节省大量时间!教程太多,随便搜一下就有!)

TX2上面无法直接使用Anaconda,但经过大佬编译,创出了Archiconda。Archiconda是专门应用在TX2等嵌入式设备上,和Anaconda非常相似。

首先在https://github.com/Archiconda/build-tools/releases下载.sh文件,等待下载完成后进入下载目录,在该目录下sh 文件名

这里我也不详细写了,安装Archiconda基本没什么坑,随便搜一下教程跟着走基本没什么问题。

四、安装Pytorch

(13条消息) 在Jetson TX2上傻瓜式安装pytorch_comli_cn的博客-CSDN博客_tx2安装pytorch

根据上面博客的教程走,但是从这里开始,坑就比较多了,每走一步都有可能陷入泥潭,但是不去尝试,永远都停在原地。由于我配置的时候没有及时地做笔记,是根据回忆写的了,所以有些坑写得比较模糊,哈哈。我们来看第一个坑:

在这里插入图片描述

安装pytorch的时候不要顺带安装numpy,这里真的佩服这位老哥,不多说了,respect!(13条消息) Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack4.5.1,python3.6,torch1.6,torchvision0.7)_来吧,搞学习了!的博客-CSDN博客_tx2刷机

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第7张图片

如果安装pytorch的时候安装了numpy,可能会和我一样报错:import torch或者import numpy的时候直接报错,在网上找了别人的截图:

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第8张图片

(13条消息) 非法指令 (核心已转储) 彻底解决方案_W-ilde的博客-CSDN博客_非法指令核心已转储

上面是别人的解决方案,你们如果遇到了也可以尝试一下,我尝试了没有解决,通过分析,是numpy与torch版本不兼容问题,这个时候我看到一篇帖子,说是将numpy版本从1.19.5降为1.12.1可以解决,我试了一下,发现可以导入import torch了,但import torch时会发生警告,如下:

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第9张图片

但紧接着import numpy也成功了,没有报错,torch.cuda.is_available()输出为True,

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第10张图片

我就兴奋了,以为自己成功了,哪知噩梦才开始!我就开始安装项目需要的库:scipy、matplotlib、OpenCV等库(后面分享安装这些库的经验),所有都装好了后,开始跑项目,直接报错,如下:

Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第11张图片

通过在其他博主的帖子里大概了解了这个错误的原因,是因为numpy的版本太低了,经过无数次卸载安装尝试,安装了numpy==1.19.1,然后成功了!

pip3 install numpy==1.19.1,反正低于1.19.5就行,也别太低,不然torch不能与numpy链接起来。

五、安装pycharm

在博客上从别人经验贴中得知,arm64平台下安装pycharm需要安装配置JAVA环境,未安装配置JAVA环境,则会报错:

​ NO JRE Found. Please make sure $PYCHARM_JDK, $JDK_HOME, or $JAVA_HOME point to avalid JRE installation.

唉,懒得写了,直接上链接,感谢这位老哥就行!

(13条消息) Jetson Xavier TX2 NX上安装Pycharm_alex1801的博客-CSDN博客_tx2安装pycharm

六、配置深度学习所需要用到的库

https://anaconda.org/jetson-tx2

这个网址里面给出了装库的教程,可以下载下来自己装,也可以直接调用命令进行下载安装。

这里安装库的时候怎么说了,多尝试吧,各种方法,有时候有可能是网络原因,有条件可以换个网络,我是换成手机热点就成功下载安装了。有的甚至需要科学上网,反正多尝试吧,pip、conda、sudo apt-get命令都可以试,有时候pip不行,反而pip3就装上了,神奇!

另外,上面那个链接中包含了tx2中绝大部分可以直接通过命令下载安装的包,但需要注意的是,这些包直接版本都是有链接的,所以下载的时候是裙带关系,卸载也是,下载后会不会覆盖原本安装的库,这些都需要自己去不断地尝试!当然,也要和我一样,双手合十,祈祷成功!啊哈哈哈哈,然后库安装好了,就可以取开始跑自己的项目了,至此,移植成功!

打开上面的链接,这里会看到所有tx2下支持的库,如图:
Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第12张图片
然后找到需要安装的库,比如matplotlib,然后复制下面的conda install -c jetson-tx2 matplotlib安装命令就可以了。
Jetson TX2开发深度学习项目笔记(Jetpack4.5.1,cuda10.2版本)_第13张图片

另外,在tx2中cv2是不能直接进行安装的,需要安装opencv-python和opencv-contrib-python,直接pip install就可以,将这两个包成功安装后就能调用cv2了。

注意:有些库在安装的过程中会遇到一些问题,比如前面提到的numpy,可能会因为版本不匹配的原因,导致调用的时候会报错,遇到这种情况的话我的处理方法是卸载掉当前安装的库,然后尝试安装不同版本,经过几次尝试后就成功了。

安装好所有项目需要的库后,接下来就可以开始我们的tx2开发之旅了!
提示:在刷机完成后一定要先配置好镜像源,真的会节省大量时间的!

(由于写的回忆录,可能有些地方讲述得不太清晰,不对的地方欢迎大家批评指正,希望这个帖子能给刚接触tx2的同学们一些帮助!)

你可能感兴趣的:(深度学习,人工智能,pytorch,python,嵌入式硬件)