installation jetson-tx2, pytorch, yolov5, opencv-python, onnxruntime-gpu


L'environnement est le suivant

  1. Système : ubuntu18.04
  2. jetpack:4.5.1
  3. cuda:10.2
  4. masqué:8.0.0
  5. pytorche:1.7
  6. torchvison:0.8.1
  7. opencv:4.5.4
  8. archiconda3

Installation et sauvegarde de l'image système

Restauration de l'image système

Entrez en mode de gravure :
connectez la machine à la machine virtuelle ubunutu18.04 via le câble de données USB, puis maintenez enfoncé le bouton de réalimentation pendant une longue période, puis appuyez sur le bouton de réinitialisation pour passer en mode de gravure.
Remarque : utilisez généralement une autre machine virtuelle ou
un miroir de lien Linux pour installer

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

sauvegarde miroir

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

Bureau du système de culture

Plus tard, j'expliquerai en détail pourquoi le système devrait être coupé

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

installation cuda, cudnn

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

Déplacez cuda vers un autre disque dur. Ici, vous devez vous assurer que le système dispose d'un disque dur pouvant stocker des fichiers en plus du stockage de 16 Go qui l'accompagne. La raison sera expliquée plus tard.

# 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

Pourquoi utiliser Archiconda3 ? L'un est de faciliter la gestion de l'environnement. Pour comparer cette machine de test, vous devez installer de nombreux environnements différents pour tester différents modèles ; Installé sous le disque dur monté, cela résout le problème de stockage insuffisant

bash archiconda3.sh

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

Installer pytorch

La raison pour laquelle pytorch1.7 a finalement été utilisé est que la compilation du code source de la dernière version de pytorch1.11 nécessite beaucoup de mémoire. Si la mémoire n'est pas suffisante, nous ne pouvons la rattraper que par échange. Pytorch ne peut que être compilé lorsque le swap est étendu à 8 Go. Le système a besoin de 5 à 6 Go, cudnn occupe déjà des centaines de Mo dans le répertoire racine et il ne me reste que 9,1 Go après avoir suivi les étapes ci-dessus. C'est pourquoi le bureau du système doit être coupé et cuda doit être supprimé. Remarque : je ne sais pas faire de petits systèmes et je n'ai pas les conditions pour les fournir

installpytorch1.11

Il y aura beaucoup de fichiers manquants dans le répertoire third_party. Je ne sais pas si c'est à cause de mon réseau ou d'autres raisons. Il suffit d'aller sur github pour les trouver un par un. Commençons par les
dépendances

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)

Ensuite, les packages requis par l'environnement, car tout le cycle est un peu long, on ne sait pas quels packages sont nécessaires, mais il est nécessaire d'installer les plusieurs gros packages ci-dessus

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

Enfin, installez pytroch1.11

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

C'est très gênant et facile à casser. Il faut 5 à 6 heures pour compiler sans aucun problème. Je ne l'ai pas expérimenté dans les 2 heures écrites par d'autres blogs. Cela peut être dû à des problèmes de version. Le plus récent est le plus de support Besoin de compiler plus de fichiers ; j'ai donc trouvé un moyen plus simple après une exploration continue, continuez à lire ci-dessous

installpytorch1.7

Pourquoi est-ce 1.7, parce que je n'ai pas téléchargé d'autres versions de pytorch, c'est un fichier whl, c'est-à-dire que Nvidia l'a déjà compilé


Collez le lien du package d'installation fourni par Nvidia : https://elinux.org/Jetson_Zoo#PyTorch_.28 La dernière version de Caffe2.29 n'est que la 1.10

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

C'est simple et pratique, mais voici le problème. Je n'ai pas trouvé le package d'installation torchvision whl correspondant pour Nvidia. Après avoir cherché, je ne peux utiliser que le code source pour compiler; la version de cet endroit doit être correcte, sinon il ne signalera que des erreurs sans fin. , l'erreur est signalée pour douter de la vie, la version ne peut être vérifiée que sur le site officiel : https://pytorch.org/get-started/previous-versions/

Installer torchvision

Encore 8g de 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

Installer opencv-python

Il y aura un paquet manquant, je ne sais pas s'il est causé par mon réseau, mais le téléchargement est très lent lors de l'installation, et il est facile de signaler des erreurs telles que boostdesc_bgm.i, vgg_generated_48.i et d'autres adresses de téléchargement 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

Installer onnxruntime-gpu

pip install onnxruntime-gpu==1.7

test Yolov5

Mon test a un traitement logique supplémentaire, peut-être que les performances seront un peu moins bonnes que la version originale, mais pas trop

Modèle taille d'entrée vitesse
yolov5s 640*384 100ms
yolov5s6 1280*768 300ms

Une fois l'installation terminée, le swap peut être libéré, supprimez le fichier et il reste encore 4 Go de stockage. Lors du déploiement, vous pouvez déplacer archiconda3 vers le répertoire racine, afin qu'il puisse être utilisé sans monter le disque dur. la fin : En fait, ce sont tous
de petits problèmes, mémoire insuffisante, stockage insuffisant, fichiers manquants, quels fichiers peuvent être déplacés et lesquels ne peuvent pas, etc., mais les blogueurs font des copier-coller, personne n'enregistre ces petits problèmes, à partir de swap2GB de 4 Go à 6 Go à 8 Go, essayez constamment, essayez de douter de la vie, rampez dans la fosse pendant un demi-mois, et enfin atterrissez ; suivi pour mettre à jour le test de performance des autres modèles

Je suppose que tu aimes

Origine blog.csdn.net/m0_37661841/article/details/121402705
conseillé
Classement