instalación jetson-tx2, pytorch, yolov5, opencv-python, onnxruntime-gpu


El ambiente es el siguiente

  1. Sistema: ubuntu18.04
  2. mochila propulsora:4.5.1
  3. cuda:10.2
  4. oculto: 8.0.0
  5. antorcha: 1.7
  6. antorcha: 0.8.1
  7. cv abierto: 4.5.4
  8. archiconda3

Instalación y copia de seguridad de la imagen del sistema

Restauración de la imagen del sistema

Ingrese al modo de grabación:
conecte la máquina a la máquina virtual ubunutu18.04 a través del cable de datos USB, luego presione y mantenga presionado el botón de reencendido durante mucho tiempo y luego presione el botón de reinicio para ingresar al modo de grabación.
Nota: generalmente use otra máquina virtual o
un espejo de enlace de Linux para instalar

# 替换镜像文件,本例是将刚克隆的镜像替换为系统镜像的操作
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

espejo de copia de seguridad

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  两个文件

Escritorio del sistema de cultivos

Más adelante, explicaré en detalle por qué se debe cortar el sistema.

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

instalación cuda, cudnn

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

Mueva cuda a otro disco duro.Aquí, debe asegurarse de que el sistema tenga un disco duro que pueda almacenar archivos además del almacenamiento de 16 GB que viene con él.La razón se explicará más adelante.

# 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

¿Por qué usar archiconda3? Uno es facilitar la gestión del entorno. Para comparar esta máquina de prueba, necesita instalar muchos entornos diferentes para probar diferentes modelos; Instalado debajo del disco duro montado, esto resuelve el problema de almacenamiento insuficiente

bash archiconda3.sh

Instalar pytorch, torchvison, opencv-python, onnxruntime-gpu

instalar pytorch

La razón por la que se usó pytorch1.7 al final es porque la compilación del código fuente de la última versión de pytorch1.11 requiere mucha memoria. Si la memoria no es suficiente, solo podemos compensarla mediante intercambio. Pytorch solo puede se compilará cuando el intercambio se expanda a 8 GB. El sistema necesita 5-6 GB, cudnn ya ocupa cientos de MB en el directorio raíz, solo me quedan 9.1 GB después de seguir los pasos anteriores, por lo que el escritorio del sistema debe ser recortado y cuda debe ser eliminado. Nota: No sé hacer sistemas pequeños y no tengo las condiciones para brindarlos

instalarpytorch1.11

Faltarán muchos archivos en el directorio de terceros. No sé si es por mi red u otras razones. Simplemente vaya a github para encontrarlos uno por uno. Empecemos con las dependencias
.

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)

A continuación, los paquetes requeridos por el entorno, debido a que todo el ciclo es un poco largo, no está seguro de qué paquetes son necesarios, pero es necesario instalar los varios paquetes grandes anteriores.

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

Finalmente, instale pytroch1.11

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

Esto es muy problemático y es fácil de romper. Se tarda de 5 a 6 horas en compilar sin ningún problema. No lo experimenté en las 2 horas escritas por otros blogs. Puede deberse a problemas de versión. Cuanto más reciente sea más soporte Necesito compilar más archivos; así que encontré una forma más simple después de una exploración continua, continúe leyendo a continuación

instalarpytorch1.7

Por qué es 1.7, porque no descargué otras versiones de pytorch, este es un archivo whl, es decir, Nvidia ya lo compiló


Pegue el enlace del paquete de instalación proporcionado por Nvidia: https://elinux.org/Jetson_Zoo#PyTorch_.28 La última versión de Caffe2.29 es solo 1.10

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

Esto es simple y conveniente, pero aquí viene el problema. No encontré el paquete de instalación correspondiente de torchvision whl para Nvidia. Después de buscar, solo puedo usar el código fuente para compilar; la versión de este lugar debe ser correcta, de lo contrario solo informará un sinfín de errores. , el error se informa a la vida dudosa, la versión solo se puede verificar en el sitio web oficial: https://pytorch.org/get-started/previous-versions/

instalar antorcha visión

Todavía 8 g de intercambio

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

Instalar opencv-python

Faltará un paquete, no estoy seguro si es causado por mi red, pero la descarga es muy lenta durante la instalación y es fácil informar errores como boostdesc_bgm.i, vgg_generated_48.i y otras direcciones de descarga 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

Instalar onnxruntime-gpu

pip install onnxruntime-gpu==1.7

prueba yolov5

Mi prueba tiene un procesamiento lógico adicional, tal vez el rendimiento sea un poco peor que la versión original, pero no demasiado.

Modelo tamaño de entrada velocidad
yolov5s 640*384 100ms
yolov5s6 1280*768 300ms

Una vez completada la instalación, se puede liberar el intercambio, eliminar el archivo y todavía hay 4 GB de almacenamiento. Al implementar, puede mover archiconda3 al directorio raíz, para que pueda usarse sin montar el disco duro; escrito en al final: En realidad son todos
pequeños problemas, memoria insuficiente, almacenamiento insuficiente, archivos faltantes, que archivos se pueden mover y cuales no, etc., pero los bloggers están copiando y pegando, nadie registra estos pequeños problemas, de swap2GB a 4 GB a 6 GB a 8 GB, intente constantemente, intente dudar de la vida, arrástrese en el pozo durante medio mes y finalmente aterrice; seguimiento para actualizar la prueba de rendimiento de otros modelos

Supongo que te gusta

Origin blog.csdn.net/m0_37661841/article/details/121402705
Recomendado
Clasificación