本篇博客去年本科毕业写的,现在看了草稿箱才想起来发布。。。
由于本科毕设第一次接触嵌入式设备,问老师借了tx2板子(有原装充电线和两个天线)。
拿到手根据网上教程陆陆续续准备了:
1.一块hdmi显示屏+hdmi线,有线鼠标和键盘。
2.原装microusb to usbA线(某宝36r+6邮费购入),用于连接tx2和PC。
3.由于tx2只有一个usb口,又购入了一个拓展坞,用于同时连接鼠标和键盘。
4.两根网线,后来只用了一根,PC直接连接wifi,tx2用网线连接路由器。
5.官网注册了一个nvida developer账号。
6.PC用VMware开了一个ubuntu虚拟机18.04
一、刷机
tx2连接显示器开机后发现有两个用户名,问老师密码,老师说忘了。。。tx2开机怎么按也进不去命令行模式,chatgpt提供的修改方法也无效。于是决定开始刷机。
选择了jetpack4.6.3,对应的sdk manager版本应该是1.9.2
下载地址:JetPack SDK | NVIDIA Developer
在官网下载后,在ubuntu终端输入
sudo apt install ./sdkmanager_1.9.2-10888_amd64.deb
sdkmanager
安装成功并打开。
这个时候就开始出现问题了:
说我的地区有年龄限制不能使用。这就很离谱了,中文也找不到解决办法。于是geogle后在论坛看到有人说需要挂vpn,还有人说挂新加坡vpn后好了。由于我本来就挂着vpn,于是换成新加坡,还是不行。后来又安装另了一个版本的sdkmanager1.6登陆,还是一样的问题。
最后无奈打开nvidia官网,登陆个人账号,找有关于年龄的地方但并未找到,忘了点了什么(好像是换了语言?)突然弹出来了个人信息填写,要填写名称和出生日期,于是我填了1990,保存信息。重新在PC端虚拟机尝试log in。登陆成功。。。
这时候又开始出现了一个常见问题:
opps!No sdks are available for your account
于是将1.6版本卸载,又换成1.9.2版本。
使用
#卸载命令
sudo apt-get --purge remove sdkmanager
#后面版本号换成你下载的文件版本
sudo apt install ./sdkmanager_1.9.2-10888_amd64.deb
重新打开sdkmanager。登陆成功。
按照这个教程的第三部分进行安装,我选择的是jetpack4.6.3,目前tx2支持的最新版。步骤bu zhoubu zhobu zhbu zbubTX2超详细,超有用的刷机教程_tx2刷机_进击的少年_光华的博客-CSDN博客
刷机完成后,使用下列指令检查是否刷机成功,若成功会出现仿真界面。
cd /usr/local/cuda-10.0/samples/5_Simulations/oceanFFT & sudo make & ./oceanFFT
检查一下板载摄像头是否能使用:(若退出在终端输入q回车)
~$ nvgstcapture-1.0 --cus-prev-res = a*b
此处的a,b代表屏幕分辨率,我个人推荐a=1280,b=720,从别的博主那里剽来的
二、 给tx2安装pytorch
参考这篇博客:
https://blog.csdn.net/m0_62013374/article/details/125736316
1.下载TX2专用torch包(.whl)
https://link.csdn.net/?target=https%3A%2F%2Fforums.developer.nvidia.com%2Ft%2Fpytorch-for-jetson-version-1-10-now-available%2F72048
我下载的torch1.10。(我使用ubuntu和macos都下载不下来,参考上面博客后使用windows先下载,再用u盘拷到tx2的文件中)
#我下载的whl文件名为:torch-1.10.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev libomp-dev
pip3 install Cython
pip3 install numpy torch-1.10.0-cp36-cp36m-linux_aarch64.whl #Permission denied就加sudo
2.安装torchvision
torch和torchvision对应关系:
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
pip3 install setuptools #这个官方教程没写
git clone --branch v0.11.1 https://github.com/pytorch/vision torchvision
cd torchvision
sudo python3 setup.py install
cd ../
pip3 install 'pillow<7'
输入以下代码检验是否安装成功:
import torch
print(torch.__version__)
import torchvision
print (torchvision.__version)
print(torch.cuda.is_available_)
得到两个版本号,一个true。
3.TX2配置yolov5环境
将训练好的yolov5模型通过u盘复制到tx2上。
TX2参照下方代码安装所需库:
sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
sudo apt-get install gfortran
sudo apt-get install libssl-dev libffi-dev python-dev build-essential libxml2-dev libxslt1-dev
pip3 install scipy
pip3 install matplotlib pillow pyyaml tensorboard tqdm
#安装seaborn时会自动安装matplotlib、pandas、numpy、pandas、spicy
pip3 install seaborn
pip3 install psutil
python3 detect.py #看看还缺啥
按照以上代码始终安装不上seaborn和matplotlib,查询资料及查看报错信息后输入以下代码重新安装(中间还更新了pip):
sudo apt-get install libpng-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install pkg-config
pip3 install 'matplotlib<3.0'
pip3 install seaboard
终于成功运行detect.py。
上述过程如果安装过慢可以打开tx2终端换源。(Jetson TX2 是ARM架构,源和x86版本要区分开,链接中间带ubuntu-ports的是tx2用的源,只写ubuntu是pc用的,别弄混了。)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup # backup
sudo gedit /etc/apt/sources.list
打开的文件中内容删除,输入:(这里使用清华源未成功,提示无法定位软件包。建议阿里源,将下面的mirrors.tuna.tsinghua.edu.cn全部换成:mirrors.ailiyun.com
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
改为阿里源后更新一下。
sudo apt-get update
sudo apt-get upgrade
由于第一次接触+网速实在不好,整个部署过程很漫长,遂在等下载过程中写了这篇博客,第一次写博客,断断续续记录下来,有些步骤可能写的不是很详细,望见谅。