jetson-tx2装机、pytorch、yolov5、opencv-python、onnxruntime-gpu


环境如下

  1. 系统:ubuntu18.04
  2. jetpack:4.5.1
  3. cuda:10.2
  4. cudnn:8.0.0
  5. pytorch:1.7
  6. torchvison:0.8.1
  7. opencv:4.5.4
  8. archiconda3

系统镜像的安装和备份

系统镜像恢复

进入烧录模式:
将机器通过USB数据线连接至虚拟机ubunutu18.04,然长按repower键不松,再按复位键,即可进入烧录模式。
说明:一般使用另一台机器虚拟机或者linux链接
镜像安装

# 替换镜像文件,本例是将刚克隆的镜像替换为系统镜像的操作
root@mm-desktop:~/tx2-NX/tx2-BIOS-4.5/tx2-nx4.5.1sdk# cd bootloader/
root@mm-desktop:~/tx2-NX/tx2-BIOS-4.5/tx2-nx4.5.1sdk/bootloader# mv system.img system.img.bak
root@mm-desktop:~/tx2-NX/tx2-BIOS-4.5/tx2-nx4.5.1sdk/bootloader# cp ../clone.img system.img
root@mm-desktop:~/tx2-NX/tx2-BIOS-4.5/tx2-nx4.5.1sdk/bootloader# cd ../../
# 烧录镜像
root@mm-desktop:~/tx2-NX/tx2-BIOS-4.5# ./run_tx2_bios_4.5.1.sh

镜像备份

root@mm-desktop:~/tx2/tx2-BIOS-4.5# ls
run_tx2_bios_4.5.1.sh  tx2-nx4.5.1sdk  tx2-nx4.5.1sdk.tar.gz
root@mm-desktop:~/tx2/tx2-BIOS-4.5# cd tx2-nx4.5.1sdk/
root@mm-desktop:~/tx2/tx2-BIOS-4.5/tx2-nx4.5.1sdk# sudo ./flash.sh -r -k APP -G clone.img jetson-xavier-nx-devkit-tx2-nx  mmcblk0p1
...
[  13.2921 ] Reading partition
[  13.2964 ] tegradevflash_v2 --read APP /home/xm/tx2-NX/tx2-BIOS-4.5/tx2-nx4.5.1sdk/clone.img
[  13.3010 ] Bootloader version 01.00.0000
[  13.4607 ] [................................................] 100%
[ 1919.0289 ] 
*** The [APP] has been read successfully. ***
	Converting RAW image to Sparse image... 
# 成功后,会在该目录下生成clone.img和clone.img.raw  两个文件

裁剪系统桌面

后面再详细解释为什么要裁剪系统

apt-get purge xorg* -y
apt-get purge x11* -y
apt-get purge gnome* -y
apt-get purge printer-driver-* -y
apt-get purge libreoffice* -y 
apt autoremove -y

cuda、cudnn安装

cd install_cuda
bash install_package.sh
#选择1安装cuda,之后选择2安装cudnn

移动cuda到其他硬盘,这里要保证系统除了自带的16GB存储还有一块硬盘可以存放文件,原因后面解释

# files为其他硬盘挂载目录
mv /usr/local/cuda-10.2 /files
# 修改cuda环境变量
vim ~/.bashrc
#修改如下:
export CUDA_HOME=/files/cuda-10.2
export LD_LIBRARY_PATH=/files/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/files/cuda-10.2/bin:$PATH

archiconda3

为什么使用archiconda3,一是为了方便管理环境,比较这个测试机要安装很多不同的环境来测试不同的模型;二是因为实在原机器的存储不够,我能想到的办法就是挂载一块硬盘,将archiconda3安装在挂载的硬盘下,这样就解决了存储不够的问题

bash archiconda3.sh

安装pytorch、torchvison、opencv-python、onnxruntime-gpu

安装pytorch

为何最后用了pytorch1.7,是因为pytorch1.11最新版本的源码编译需要很大的内存,内存不够只能swap来凑,在swap扩展到8GB的条件下pytorch才可以编译通过,系统需要5-6个GB,根目录下已经cudnn占了几百MB,我的按照上面步骤做完只剩下9.1GB,这也是为什么系统桌面要裁剪,cuda一定要移走的原因。注明:小系统我不会且身边没有能够提供的条件

安装pytorch1.11

third_party目录下文件会缺失很多,不知道是我网络原因还是其他原因,去github一个一个找即可
先来依赖项

apt install libatlas-dev liblapack-dev
apt install liblapacke-dev checkinstall
apt install libffi-dev
apt install ninja-build
apt install cmake (cmake version > 3.17)

再来环境需要的包,由于整个周期有点长,已经不确定具体哪几个包必须要,但是进安装上面的几个大包是需要的

pip install cython
pip install numpy 
pip install pyyaml
pip install scikit-build
pip install cffi
pip install typing-extensions
pip install dataclass

最后安装pytroch1.11

cd torch
mkdir build
cd buld 
cmake ..
make -j6
cd ..
python setup.py install
# 由于我直接最后一步一直报错所以尝试了这种办法,可行

这样很麻烦,而且容易断掉,不出问题也需要5-6个小时才可以编译完成,其他博客写的2个小时我是没体验到,可能由于版本问题,越新的支持的越多就需要编译更多的文件吧;所以在我不断探索下找到了一个更简单的方式,继续看下面

安装pytorch1.7

为什么是1.7,因为其他版本的pytorch我没下载下来,这个是whl文件,即英伟达已经编译好了


贴上英伟达提供的安装包链接:https://elinux.org/Jetson_Zoo#PyTorch_.28Caffe2.29最新的版本也只有1.10哦

apt-get install libopenblas-base libopenmpi-dev python3-pip
pip install torch-1.7.0...

这个简单又方便,但是问题来了,英伟达我并没有找到相应的torchvision的whl安装包,找了一圈只能使用源码编译;这个地方版本绝对要对的上,不然只会无止尽的报错,报错到怀疑人生,版本只能去官网查:https://pytorch.org/get-started/previous-versions/

安装torchvision

还是8个g的swap

git clone -b v0.8.1 https://github.com/pytorch/vision vision-0.8.1
cd vision-0.8.1
sudo python3 setup.py install

安装opencv-python

会缺一个包,不确定是否是我网络导致,但是安装的时候下载很慢,容易报错boostdesc_bgm.i,vgg_generated_48.i等下载地址https://download.csdn.net/download/m0_37661841/44322678

git clone https://github.com/opencv/opencv.git
git checkout <你所要用的 OpenCV 版本,建议是用最新版>
git clone git://github.com/Itseez/opencv_contrib
cmake -D CMAKE_BUILD_TYPE=RELEASE \
		-D BUILD_opencv_python3=YES \
		-D CMAKE_INSTALL_PREFIX=./install \
		-D INSTALL_PYTHON_EXAMPLES=ON \
		-D INSTALL_C_EXAMPLES=OFF \
		-D OPENCV_ENABLE_NONFREE=ON \
		# Contrib path
		-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
		# Your virtual environment's Python executable
		# You need to specify the result of echo $(which python)
		-D PYTHON_EXECUTABLE=~/env/bin/python \
		-D BUILD_EXAMPLES=ON ..
make install

安装onnxruntime-gpu

pip install onnxruntime-gpu==1.7

yolov5测试

我的测试有一些额外的逻辑处理,可能性能会比原版的差一点,但不会太多

模型输入尺寸速度
yolov5s640*384100ms
yolov5s61280*768300ms

安装完成之后swap就可以释放了,删掉文件,还有4GB的存储,部署的时候可以吧archiconda3移动到根目录下,这样不需要挂载硬盘也可以使用了;
写在最后:其实都是小问题,内存不够,存储不够,缺失文件,哪些文件可以移动哪些不可以等等,但是博客大佬们都是复制粘贴,没有人记录这些小问题,从swap2GB扩展到4GB再到6GB直到8GB,不断尝试,尝试到怀疑人生,坑里爬了半个月,总算上岸;后续再更新其他模型的性能测试

### 回答1: 要在Jetson TX2安装PyTorch,需要先安装JetPack软件套件,并在Jetson TX2安装Python。然后,可以通过SSH连接到Jetson TX2,并使用pip安装PyTorch包。需要注意的是,Jetson TX2上可能需要编译PyTorch源代码,因此可能需要安装其他依赖项和工具链。建议参考官方文档和社区资源进行安装。 ### 回答2Jetson TX2是一款较为高端的嵌入式计算机,可以支持人工智能相关的应用。而PyTorch是一种比较流行的深度学习框架,可以用于创建和训练自己的人工智能模型。在Jetson TX2安装PyTorch,可以让我们更加方便地进行深度学习的研究和应用。以下是Jetson TX2安装PyTorch的步骤: 1.首先,确保您的Jetson TX2已经安装Nvidia Jetpack,因为这是PyTorch所依赖的一些组件(例如CUDA和cuDNN)所需的基础环境。 2.然后,建议您使用anaconda将PyTorch安装Jetson TX2上。anaconda是一种用于创建Python虚拟环境的工具,可以避免在Jetson TX2上出现由于不同版本Python包之间的冲突而导致的问题。 3.下载并安装anaconda,前往官方网站(https://www.anaconda.com/distribution/)下载适用于Jetson TX2的合适版本。安装完成后,运行以下命令创建一个名为“tfenv”(可以自行更改名称)的Python虚拟环境: conda create -n tfenv python=3.7 4.激活tfenv环境,运行以下命令: conda activate tfenv 5.接下来,安装PyTorch。由于Jetson TX2上的CPU和GPU规格不同,因此我们需要为CUDA和cuDNN选择正确的版本。当前最新的PyTorch版本是1.9.0,假设您已经安装了与Jetpack 4.4对应的CUDA和cuDNN版本,可以通过以下命令安装PyTorch: pip3 install torch==1.9.0+cu102 torchvision==0.10.0+cu102 -f https://download.pytorch.org/whl/cu102/torch_stable.html 6.测试PyTorch是否安装成功。可以使用以下命令打开Python交互环境: python 然后输入以下Python代码: import torch print(torch.__version__) 如果输出1.9.0,则说明PyTorch已经成功地安装并可以在Jetson TX2上使用。 总之,Jetson TX2安装PyTorch需要在安装anaconda、环境设置、选择正确的PyTorch版本等方面进行详细的步骤,需要注意这些细节,确保正确安装和配置。 ### 回答3: Jetson TX2NVIDIA 推出的一款用于深度学习的嵌入式系统平台,它的灵活性和性能使其成为许多机器学习和人工智能项目的首选。PyTorch 是由 Facebook 开发的一种基于 Python 的机器学习库,它具有易用性和高效性,因此很受欢迎。在本文中,将介绍如何在 Jetson TX2安装 PyTorch。 首先,确保您的 Jetson TX2 已连接到网络。然后,您需要安装正确的 Python 版本,因为 PyTorch 仅支持特定的版本。可以从 Jetson TX2 的终端窗口输入以下命令来确认您的 Python 版本: ```bash python -V ``` 如果输出如下内容,表示您已经安装了 Python : ```bash Python 3.6.9 ``` 接下来,使用以下命令,在 Jetson TX2安装 PyTorch: ```bash sudo apt-get update sudo apt-get install python3-pip libopenblas-base libopenmpi-dev sudo pip3 install http://nvidia.westus2.cloudapp.azure.com/bsp/pytorch-1.7.0 ``` 上面的命令将使用 pip3 安装 PyTorch 和相关依赖项。安装完成后,您可以使用以下命令验证 PyTorch 是否已成功安装: ```bash python3 -c "import torch; print(torch.cuda.is_available())" ``` 如果输出 “True”,则表示你已经成功安装PyTorch安装完成后,您可以开始使用 PyTorch 训练深度学习模型。Jetson TX2 的高性能和灵活性,使它成为深度学习模型的理想平台。在使用 PyTorch 训练模型时,建议在 Jetson TX2 上使用 GPU 进行加速,这将显著提高训练速度。 总之,Jetson TX2安装 PyTorch 很简单,只需几个命令就可以轻松完成。在安装完成后,您将进入一个完全准备好使用 PyTorch 训练深度学习模型的状态。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值