赞
踩
/usr/local/
中一看根本没有cuda、cudnn,也就是没有安装jetpack的情况下,应该怎么办。目前全网相关资源较少,走了很多弯路,在这里总结一下留给后人,也算是全网首发了。
怎么知道你属于上面这种呢?很简单,输入nvcc -V,看有没有版本输出,如果没有,那就说明cuda编译器没配置好,有两种情况,安装了没设置环境变量,或者根本就没安装。如果是前者,那么可以编辑~/.bashrc
,加入下面这两行然后source一下就可以了。
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
那如果你根本没安装,加入这个也是白搭,nvcc -V也不能输出版本。可以去/usr/local/
里看,没有上面cuda
这个文件夹的。
jetpack是NVIDIA针对性设计的一个工具包,里面包含了很多很有用的模块,包括像cuda、cudnn、tensorRT等等好多,安装jetpack也就安装了cuda这些东西,省去很多麻烦,我也尝试过直接安装cuda,但相关依赖太多,麻烦得很。这里介绍用jetpack来安装的方法。
jetpack可以直接安装
sudo apt install nvidia-jetpack
直接输入这一句话就可以,但如果你像我一样输入这句没反应,那么我们就要配置源了,来让系统找到jetpack的位置。
首先你要知道你现在的系统版本是多少,来找对应要安装的jetpack版本。这个不是Ubuntu的版本,是一个L4T开头的版本号,查看方式cat /etc/nv_tegra_release
。
!先别急着去看,这个方法可以,但不好用,他给你一堆你看不懂的东西,你可以下载下面这个程序来查看。输入bash l4t_version.sh运行,会给你一个L4T xx.x(.x)的版本号。
上面系统版本有了以后,你就可以査对应的jetpack版本了,来这里査。
比如我用的这个
灰字是jetpack版本,底下有设备描述,还有l4t版本号,找对应的就好了。
接下来去到jetpack资源网站里面去,找到jetpack版本对应的编号,来设置源信息。
网站是这个。
点进去以后,上面选择你要的jetpack版本号跳转。
像我4.6.3跳转下来到这里
有一组一组的t+数字,还有common开头的一组链接,这个是我们的主要目标。
我们要选择一组t+数字的链接和一组common链接(这个不用选就一组),然后加入到源中。
这个t+数字我不知道是什么含义从哪查,猜测大概是版本更新时间相关的,我的办法就是挨着试,随便试一组t+数字,如果试对了那么恭喜正常安装,试错了的话它会报错,并且提示给你一串数字,是你应该安装的版本,具体这里我安完了没截图,就大概描述一下吧,比如它提示你应该安装cuda_32.7.3-20221122092958,那么你就去找下面的t+数字,正好找到是t186。换成t186就可以了。
怎么来增加源呢?
sudo vi /etc/apt/sources.list
这句打开记录源的文件,一般是这个文件,有的默认可能不一样。随便什么编辑器打开都可以,gedit也行看个人习惯。增加下面这两行
deb https://repo.download.nvidia.com/jetson/common r32.7 main
deb https://repo.download.nvidia.com/jetson/t210 r32.7 main
把这两组链接分别导入就可以了,这里主要t+数字
要更换,还有后面r32.7
就是你的l4t系统版本号,输入一个点后的就可以了,不用精确到小版本,比如我32.7.3就输到32.7,不然也是找不到。
sudo apt update
sudo apt install nvidia-jetpack
接下来试试这两句,第一句是更新一下源,第二句安装jetpack,如果你很幸运t+数字是对的,那么安装成功,不够幸运就换成你合适的那一组源再来一遍,第二次就成功了。
那么安装好cuda以后,直接输入nvcc -V是依然查询不到版本的,这是因为还没有配置环境变量,系统不知道cuda的位置,那么就这样配置:vim ~/.bashrc
进入环境变量文件,在末尾加入下面两行内容
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
然后输入source ~/.bashrc
使环境变量生效。
接着输入nvcc -V
查询版本,能够正常输出版本信息说明配置成功。
进入测试样例cd /usr/src/cudnn_samples_v8/mnistCUDNN
编译测试样例sudo make
运行测试样例sudo ./mnistCUDNN
如果输出最后为Test passed !,则说明样例运行成功,cudnn安装成功。
在这里我是遇到了一个小问题,编译时失败,报下面错误
fatal error: FreeImage.h: No such file or directory
解决方法就是再安装这个文件FreeImage.h
sudo apt-get install libfreeimage3 libfreeimage-dev
然后再编译运行,就通过啦!
安装成功,完结撒花(^-^)V
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。