Jetson-tx2-Installation, Pytorch, Yolov5, OpenCV-Python, Onnxruntime-GPU


Die Umgebung ist wie folgt

  1. System: Ubuntu18.04
  2. Jetpack: 4.5.1
  3. cuda:10.2
  4. versteckt: 8.0.0
  5. Pytorch: 1.7
  6. Torchvison: 0.8.1
  7. opencv:4.5.4
  8. archiconda3

Installation und Sicherung des Systemabbilds

Wiederherstellung des Systemabbilds

Rufen Sie den Brennmodus auf:
Verbinden Sie die Maschine über das USB-Datenkabel mit der virtuellen Maschine ubunutu18.04, halten Sie dann die Repower-Taste lange gedrückt und drücken Sie dann die Reset-Taste, um in den Brennmodus zu wechseln.
Hinweis: Verwenden Sie für die Installation im Allgemeinen eine andere virtuelle Maschine oder einen Linux-Link-
Spiegel

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

Spiegelsicherung

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

Desktop des Erntesystems

Später werde ich im Detail erklären, warum das System gekürzt werden sollte

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-Installation

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

Verschieben Sie cuda auf eine andere Festplatte. Dabei müssen Sie sicherstellen, dass das System zusätzlich zu den mitgelieferten 16 GB Speicher über eine Festplatte verfügt, auf der Dateien gespeichert werden können. Der Grund wird später erläutert.

# 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

Warum archiconda3 verwenden? Eine davon besteht darin, die Verwaltung der Umgebung zu erleichtern. Um diese Testmaschine zu vergleichen, müssen Sie viele verschiedene Umgebungen installieren, um verschiedene Modelle zu testen. Durch die Installation unter der montierten Festplatte wird das Problem des unzureichenden Speichers gelöst

bash archiconda3.sh

Installieren Sie Pytorch, Torchvison, OpenCV-Python, Onnxruntime-GPU

Installieren Sie Pytorch

Der Grund, warum pytorch1.7 letztendlich verwendet wurde, liegt darin, dass die Quellcodekompilierung der neuesten Version von pytorch1.11 viel Speicher erfordert. Wenn der Speicher nicht ausreicht, können wir ihn nur durch Austauschen ausgleichen. Pytorch kann nur kompiliert werden, wenn der Swap auf 8 GB erweitert wird. Das System benötigt 5-6 GB, cudnn belegt bereits Hunderte von MB im Stammverzeichnis, ich habe nur noch 9,1 GB übrig, nachdem ich die obigen Schritte ausgeführt habe, weshalb der Systemdesktop sein muss beschnitten und Cuda müssen entfernt werden. Hinweis: Ich weiß nicht, wie man kleine Systeme erstellt, und ich habe nicht die Voraussetzungen, sie bereitzustellen

installpytorch1.11

Im Verzeichnis „third_party“ werden viele Dateien fehlen. Ich weiß nicht, ob das an meinem Netzwerk oder anderen Gründen liegt. Gehen Sie einfach zu Github, um sie einzeln zu finden. Beginnen wir mit den
Abhängigkeiten

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)

Als nächstes sind die von der Umgebung benötigten Pakete aufgeführt. Da der gesamte Zyklus etwas lang ist, ist nicht sicher, welche Pakete erforderlich sind. Es müssen jedoch mehrere große Pakete oben installiert werden

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

Installieren Sie abschließend pytroch1.11

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

Dies ist sehr mühsam und kann leicht beschädigt werden. Das Kompilieren dauert 5 bis 6 Stunden ohne Probleme. Ich habe es in den 2 Stunden, in denen andere Blogs geschrieben haben, nicht erlebt. Möglicherweise liegt es an Versionsproblemen. Je neuer die mehr Unterstützung Es müssen mehr Dateien kompiliert werden; daher habe ich nach kontinuierlicher Erkundung einen einfacheren Weg gefunden, lesen Sie weiter unten

installpytorch1.7

Warum ist es 1.7, weil ich keine anderen Versionen von Pytorch heruntergeladen habe? Dies ist eine WHL-Datei, das heißt, Nvidia hat sie bereits kompiliert


Fügen Sie den von Nvidia bereitgestellten Link zum Installationspaket ein: https://elinux.org/Jetson_Zoo#PyTorch_.28 Die neueste Version von Caffe2.29 ist nur 1.10

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

Das ist einfach und bequem, aber hier kommt das Problem: Ich habe das entsprechende Torchvision-WHL-Installationspaket für Nvidia nicht gefunden. Nach der Suche kann ich zum Kompilieren nur den Quellcode verwenden, andernfalls muss die Version dieses Ortes korrekt sein Es werden nur endlose Fehler gemeldet. Der Fehler wird als zweifelhaft gemeldet. Die Version kann nur auf der offiziellen Website überprüft werden: https://pytorch.org/get-started/ previous-versions/

Torchvision installieren

Immer noch 8g Tausch

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

Installieren Sie opencv-python

Es wird ein fehlendes Paket geben, ich bin mir nicht sicher, ob es an meinem Netzwerk liegt, aber der Download ist während der Installation sehr langsam und es ist leicht, Fehler wie boostdesc_bgm.i, vgg_generated_48.i und andere Download-Adressen https:// zu melden. 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

Installieren Sie onnxruntime-gpu

pip install onnxruntime-gpu==1.7

Yolov5-Test

Mein Test hat etwas zusätzliche Logikverarbeitung, vielleicht ist die Leistung etwas schlechter als die Originalversion, aber nicht zu viel

Modell Eingabegröße Geschwindigkeit
yolov5s 640*384 100 ms
yolov5s6 1280*768 300 ms

Nach Abschluss der Installation kann der Swap freigegeben und die Datei gelöscht werden, und es sind noch 4 GB Speicherplatz vorhanden. Bei der Bereitstellung können Sie archiconda3 in das Stammverzeichnis verschieben, sodass es ohne Mounten der Festplatte verwendet werden kann; geschrieben unter Das Ende: Tatsächlich sind das alles
kleine Probleme, unzureichender Speicher, unzureichender Speicherplatz, fehlende Dateien, welche Dateien verschoben werden können und welche nicht usw., aber die Blogger kopieren und fügen diese kleinen Probleme ein, niemand zeichnet diese kleinen Probleme von swap2GB auf auf 4 GB auf 6 GB auf 8 GB, ständig versuchen, am Leben zweifeln, einen halben Monat lang in der Grube kriechen und schließlich landen; Follow-up, um den Leistungstest anderer Modelle zu aktualisieren

Ich denke du magst

Origin blog.csdn.net/m0_37661841/article/details/121402705
Empfohlen
Rangfolge