TX2刷机完美踩所有坑篇【附如何安装cudnn】

历时2天 几乎踩遍各种坑

最近项目要部署在TX2上,在TX2上配好YOLOv3 GPU的版本,本来刚接手的就是刷过机的板板,but 没有装cudnn 于是乎呢就按照这篇blog:https://blog.csdn.net/dhaduce/article/details/80155121(TX2上安装cudnn)的过程,结果根本跑不起来。装好cudnn后在darknet make的时候总会报错:

skipping incompatible libcudnn.so when searching for lib64/ (具体bug描述忘记了,反正意思就是找到了这个链接,但是不兼容)

网上说的是什么so为32或64位而乌班图正好相反,但是事实证明通过objdump命令,都是64位。(但是确实板子是是ARM,下载的cudnn是x64,我之前也不懂ARM与x64是不是一样,反正按照上述blog进行做,gg。不行)无可奈何下,师兄说可能是版本不配套,主机当时有对应的cudnn版本文件,反正就是让我刷个机尝试再装一遍 于是乎先走上了我的刷机之路。

刷机篇

我下载的是JetPack3.2 ,在官网上下载。

https://developer.nvidia.com/embedded/jetpack

JetPack是一个强大的支持cuDNN, CUDA, TnesorRT等的集成包。

然后在home文件夹下创建了一个jetpack包,将下载下来的.run拷过去了。然后在对应的文件夹下执行

./JetPack-L4T-3.2-linux-x64_b157.run

这里会有一个bug,就是有其他教程说用sudo命令来执行这个命令,会报错,error信息会提示你建议用普通用户权限执行,所以就直接run就行。

中间还可能会缺包,少啥apt-get啥就行。然后会弹出一个安装界面,一路next的,到这里

这里写图片描述

啥都别管别问 选full。自定义坑啥的就自己踩吧反正我老老实实选的full。会安装一系列的cuda,cudnn,opencv等。然后就漫长的等待下载吧。

我第一天下午放这里等下载,第二天早上来看,下ok了。然后下面就开始了我的上午踩坑之路。

首先参考第一种教程 ,到了这一步之后一路next,就到了这个界面

请输入图片描述

大家都是选的1嘛,也就连在同一个路由器上,对于我来说我以为同一个局域网呢,因为母机跟板卡都连的实验室的wifi,也没考虑就这样next了。教程说是最好要用网线把主机跟板卡都连在同一个路由器上,找了张别人的图:

然后一路next,会跳出一个框。

下来执行下面的这一系列复杂的操作:

  • 断开电源,保证开发板处于断电关机状态
  • 用网线连到路由器上,也可插上鼠标键盘
  • 用Micro USB线把开发板连到电脑上(类似于安卓手机连电脑)
  • 接通AC电源,按下power键,开机
  • 刚一开机,就长按Recovery键不松开,然后点按一下Reset键(Down and Up),过2s以后才松开Recovery键,此时开发板处于强制恢复模式

 如果你成功进入恢复模式并连好板子和电脑了,在主机的命令行输入 lsusb 会看到NVIDIA corp的字样。然后就让跳出的框开始恢复啦。

请输入图片描述

当然我也傻兮兮的没连在一个路由器上做了这些动作,(有blog中的人很欧这样做也成了,反正我是非酋)结果就悲剧了 板子启动了我以为ok了,打开一看傻眼了 opencv cuda全都没有,简直不能再简直的东西,然后看了一下那个跳出来的小黑框。

找目的地ip ing 卡死在这里了,瞬间明白应该是网络的问题,然后退而寻找另一种方法:

下面这种方法无需连在一个路由器上,需要自己手动配置ip。 (前提,系统已经装好了,就像我第一遍reset后系统是ojbk乌班图16的。可以打开系统连上wifi,然后继续下面的步骤)

首先退出上面的那个小框框,重新执行.run文件,在安装选择的时候把 flash os 设置为no action的模式!其它都选安装,进入下一步。 此时可以手动输入TX2的IP地址,可在板子上通过ifconfig命令查看,然后会让输入板子的ip跟username password。

ip就输入你查看的ip (可以通过wifi网络信息直接看到,这个是静态ip!)user跟pwd都是nvidia。 

OK网路教程到此结束,别人顺顺当当安装上了,但是我的还是找不到ip。找了好久总算在一个大哥的blog找到了只字片语关于这个的问题。需要改主机的ip。当用板卡跟主机连在一起的时候,主机上会有LET4的一个目录,里面有一个read me,按照那个read me上让你改的内容,自己把你的以太网连接配置为对应的ip。像我这边板卡ip为192.168.xx.1 read me上就建议我把以太网连接改为192.168.xx.2 掩码保持一致,设置为手动获取ip。然后ssh nvidia这个ip。输入密码之后,就可以无关机安装了。

 

然后就进入了漫长的安装过程,新的坑再次出现,安装到某个lib库的时候提示装不上缺少依赖文件,让我自己在板卡上get之后再continue,然而我板卡get不了,又缺乏依赖,就通过apt-get -f 修复依赖,然后继续continue。有的还是有error,不过好在没有卡在ip。装完了。

然而我重启板卡之后,/usr/local下面依旧找不到cuda,我也是醉了。于是又执行了一遍安装,这次ok了。具体原因是啥我还真的不知道,反正很懵逼。就装好了

但是装好之后跟之前一样,依旧找不到cudnn啊!明明jetpack的下载里有cudnn的deb文件,竟然没装。刚开始我又傻乎乎的去官网下载tar文件去了,因为又看到一篇blog给了我希望。那篇博客上说一定要下载arm版本的cudnn,并且给了个下载地址,我按照那个过程又装了一遍cudnn,又去yolov3里面make,依旧gg。然后就又一次删除了cuda/lib64中的链接跟cuda/include里面的cudnn.h。。。

没办法只好最后一步,(其实应该是最正确的一步,当时太傻了)我用u盘把主机上的jetpack下载的cudnn有关的两个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

执行之后,成功安装cudnn。 yolov3中make 编译通过! 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 首先,要手动安装Jetson TX2中的CUDACuDNN,需要按照以下步骤进行操作: 1. 下载CUDA Toolkit: - 首先,通过NVIDIA官方网站下载适用于Jetson TX2CUDA Toolkit。 - 在下载页面上选择与您的Jetson TX2版本相对应的CUDA Toolkit版本,并下载该版本的.run文件。 2. 安装CUDA Toolkit: - 将下载的CUDA Toolkit文件拷贝到Jetson TX2设备上。 - 打开终端,进入到CUDA Toolkit文件所在的目录。 - 运行以下命令,以设置安装选项并启动安装过程: ``` chmod +x cuda_<version>_linux.run sudo ./cuda_<version>_linux.run ``` - 按照安装向导的指示进行操作,接受许可协议并选择相应的安装选项。 - 完成安装后,根据提示将必要的环境变量添加到系统配置文件中(如~/.bashrc)。 3. 下载CuDNN库文件: - 访问NVIDIA官方网站并下载与安装CUDA Toolkit版本相对应的CuDNN库文件。 - 将下载的CuDNN库文件拷贝到Jetson TX2设备上。 4. 安装CuDNN库文件: - 将CuDNN库文件解压到一个指定目录中,例如'/usr/local/cuda/'。 - 打开终端,进入CuDNN库文件所在的目录。 - 运行以下命令以将CuDNN库文件拷贝到CUDA Toolkit的安装目录中: ``` sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* ``` 5. 配置环境变量: - 打开终端,编辑~/.bashrc文件: ``` nano ~/.bashrc ``` - 在文件末尾添加以下内容,并保存退出: ``` export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export CUDA_HOME=/usr/local/cuda ``` - 运行以下命令使环境变量配置生效: ``` source ~/.bashrc ``` 完成以上步骤后,您应该成功地手动安装了Jetson TX2中的CUDACuDNN。您可以通过在终端上运行`nvcc -V`来验证CUDA是否正确安装,并通过运行`cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2`来验证CuDNN是否正确安装。 ### 回答2: 首先,Jetson TX2是一款高性能边缘计算设备,用于深度学习、AI和计算机视觉等领域。CUDAcuDNN是用于加速计算的关键软件,在Jetson TX2上手动安装这两个软件需要以下步骤: 1. 下载CUDAcuDNN:首先,从NVIDIA官方网站下载适用于Jetson TX2CUDAcuDNN版本。确保选择与Jetson TX2硬件兼容的版本。 2. 安装CUDA:将下载的CUDA安装包复制到Jetson TX2上,并解压缩文件。然后,运行安装脚本来设置CUDA环境变量并安装CUDA。 3. 配置环境变量:为了正确地配置CUDAcuDNN,需要设置环境变量。在终端中输入以下命令以打开.bashrc文件: ``` sudo nano ~/.bashrc ``` 然后,在文件的末尾添加以下行: ``` export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH} ``` 保存并关闭文件,然后运行以下命令以使更改生效: ``` source ~/.bashrc ``` 4. 安装cuDNN:将下载的cuDNN安装包复制到Jetson TX2上,并解压缩文件。然后,将cuDNN库文件复制到CUDA安装目录中。使用以下命令完成此操作: ``` sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* ``` 5. 验证安装:在终端中运行以下命令以验证CUDAcuDNN是否安装成功: ``` nvcc -V ``` 如果输出中显示了CUDA版本信息,则说明CUDA安装成功。然后,可以使用深度学习框架(如TensorFlow,PyTorch等)来验证cuDNN安装。 这些是手动安装CUDAcuDNN的基本步骤。确保按照官方文档和说明进行操作,并根据自己的需求进行相应的配置和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值