Eine Sammlung FANTASTISCHER Tools, die auf NVIDIA Jetson-Geräte zugeschnitten sind
CopyRight 2020-2024 @piyoki. Alle Rechte vorbehalten.
Dieses Repo soll Ihnen klare Anweisungen zur Installation von Paketen auf der AArch64(ARM)-Plattform geben, insbesondere in der Jetson-Familie. Alle Pakete wurden auf Jetson AGX Xavier und Jetson Nano getestet.
Dieses Repo verwendet Pre-Commit zum Verwalten und Verwalten mehrsprachiger Preo-Commit-Hooks.
Bevor Sie eine Installation durchführen, müssen Sie möglicherweise die folgenden grundlegenden Abhängigkeiten installieren
$ sudo apt-get install -y nano curl
# python3
$ sudo apt-get install -y python3-pip python3-dev python3-setuptools
# python2
$ sudo apt-get install -y python-pip python-dev python-setuptools
$ sudo apt-get install -y libcanberra-gtk0 libcanberra-gtk-module
Hinweise: Wenn Sie python3
als Standard-Python-Compiler und pip
Paketmanager festlegen möchten, gehen Sie bitte wie folgt vor:
# python
$ sudo rm -rf /usr/bin/python && sudo ln -s /usr/bin/python3 /usr/bin/python
$ which python
# pip
$ sudo rm -rf /usr/bin/pip && sudo ln -s /usr/bin/pip3 /usr/bin/pip
$ which pip
Python-Pip
# pip3
$ pip3 install -U pip
$ pip3 install setuptools wheel cython
Wenn Sie den CUDA-Pfad noch nicht festgelegt haben, müssen Sie dies möglicherweise nachholen.
Setup mit Skript
$ wget -qO- https://github.com/yqlbu/jetson-packages-family/raw/master/set_cuda.sh | bash -
Manuell einrichten
$ echo " export PATH=/usr/local/cuda/bin: $ {PATH} " >> ${HOME} /.bashrc
$ echo " export LD_LIBRARY_PATH=/usr/local/cuda/lib64: $ {LD_LIBRARY_PATH} " >> ${HOME} /.bashrc
$ echo " export CPATH= $CPATH :/usr/local/cuda/targets/aarch64-linux/include " >> ${HOME} /.bashrc
$ echo " export LIBRARY_PATH= $LIBRARY_PATH :/usr/local/cuda/targets/aarch64-linux/lib " >> {HOME}/.bashrc
$ source ~ /.bashrc
Im Vergleich zu Jetson Nano besteht ein wichtiges Merkmal von Jetson Xavier NX und Jetson AGX Xavier darin, dass sie mit dem M.2 Key M-Anschluss ausgestattet sind. Laut Tests von Drittanbietern ist die Lesegeschwindigkeit meiner SSD siebenmal schneller als die der SD-Karte. Daher wird das Booten von einer SSD sicherlich die Leistung des Jetson Xavier steigern.
Anleitung zur Einrichtung
Jetsonhacks RootOnNVMe-Repo
Ein Skript, das den PWM-Lüfter mit der Änderung der CPU-Temperatur jeder Jetson-Maschine (Jetson Nano, Jetson TX1, TX2, Jetson Xavier) steuern kann.
Anleitung zur Einrichtung
PyTorch v1.8.0 (JetPack 4.4 +)
Python 3.6 – Torch-1.8.0-cp36-cp36m-linux_aarch64.whl
$ wget https://nvidia.box.com/shared/static/p57jwntv436lfrd78inwl7iml6p13fzh.whl -O torch-1.8.0-cp36-cp36m-linux_aarch64.whl
$ sudo apt-get install python3-pip libopenblas-base libopenmpi-dev
$ pip3 install Cython
$ pip3 install numpy torch-1.8.0-cp36-cp36m-linux_aarch64.whl
Torchvision v0.5.0 (kompatibel mit PyTorch v1.4.0)
$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
$ git clone --branch < version > https://github.com/pytorch/vision torchvision # see below for version of torchvision to download
$ cd torchvision
$ export BUILD_VERSION=0.x.0 # where 0.x.0 is the torchvision version
$ python3 setup.py install --user
$ cd ../ # attempting to load torchvision from build dir will result in import error
$ pip install ' pillow<7 ' # always needed for Python 2.7, not needed torchvision v0.5.0+ with Python 3.6
Verifizierung
$ python3 -c " import torch ; print(torch.__version__) "
Um andere Versionen von PyTorch und Torchvision zu installieren, besuchen Sie bitte die Website HIER
Python 3.6 + JetPack 4.5
sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran
sudo apt-get install python3-pip
sudo pip3 install -U pip testresources setuptools==49.6.0
sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11
# TF-2.x
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 tensorflow
# TF-1.15
$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v45 ‘tensorflow < 2’
Wenn bei der Installation von h5py ein Fehler auftritt, führen Sie bitte diesen Befehl aus, um die Abhängigkeit zu lösen:
$ sudo apt-get install libhdf5-serial-dev hdf5-tools
Um andere Versionen von Tensorflow zu installieren, besuchen Sie die folgenden Websites:
Jetson Xavier: HIER
Jetson Nano: HIER
Python3 v3.6.9
$ pip3 install scikit-learn
$ apt-get install libatlas-base-dev gfortran
$ pip3 install -U scipy --user
$ sudo apt install libfreetype6-dev -y
$ sudo apt install python3-matplotlib -y
pip3 install -U pycuda --user
# install jupyter
$ pip3 install jupyterlab
$ pip3 install --upgrade --force jupyter-console
# export environment path
$ echo ' export PATH=$PATH:~/.local/bin ' >> ~ /.bashrc
$ source ~ /.bashrc
# check installation version
$ jupyter lab -V
Mit Docker installieren
$ docker run --name jupyterlab -d
-e TZ=Asia/Shanghai
-p 8888:8888
-v /appdata/jupyterlab:/opt/app/data
hikariai/jupyterlab:latest
Führen Sie die App aus
$ jupyter lab --ip= * --port=8888 --no-browser --notebook-dir=/opt/app/data
--allow-root --NotebookApp.token= ' ' --NotebookApp.password= ' '
--LabApp.terminado_settings= ' {"shell_command": ["/bin/bash"]} '
Nutzungsleitfaden: https://github.com/yqlbu/jetson_lab
$ pip3 install -U pillow --user
$ pip3 install -U pandas --user
$ pip3 install -U numpy --user
$ pip3 install -U seaborn --user
ONNX v1.4.1 (Python3.6.9 + JetPack 4.3/4.4/4.5)
$ sudo apt install protobuf-compiler libprotoc-dev
$ pip install onnx==1.4.1
LLVM v3.9 (Python3.6 + JetPack 4.3/4.4/4.5)
$ sudo apt-get install llvm-3.9
$ export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
$ cd ~
$ wget https://github.com/numba/llvmlite/archive/v0.16.0.zip
$ unzip v0.16.0.zip
$ cd llvmlite-0.16.0
$ sudo chmod 777 -R /usr/local/lib/python3.6/dist-packages/
$ python3 setup.py install
Numba v0.31 (Python3.6 + JetPack 4.3/4.4/4.5)
**Hinweise: Für Numba ist **LLVM** vorinstalliert. Schauen Sie sich daher bitte die Anweisungen für LLVM an und lassen Sie es installieren, bevor Sie Numba installieren.
$ pip3 install numba==0.31 --user
Jetson-Stats ist ein Paket zur Überwachung und Steuerung Ihres NVIDIA Jetson [Xavier NX, Nano, AGX Xavier, TX1, TX2]. Funktioniert mit dem gesamten NVIDIA Jetson-Ökosystem.
$ sudo -H pip install -U jetson-stats
$ sudo jtop
NeoVim Server ist ein containerisierter IDE-ähnlicher Texteditor, der auf einem Webserver ausgeführt wird.
Dokumente: https://github.com/yqlbu/neovim-server/wiki
Schriftarteninstallation:
$ mkdir -p ~ /.local/share/fonts
$ cd ~ /.local/share/fonts && curl -fLo " Droid Sans Mono for Powerline Nerd Font Complete.otf " https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20Nerd%20Font%20Complete.otf
Schnellinstallation:
$ docker run -d
--name nvim-server
-p 6080:3000
-p 8090:8090
-v ~ /workspace:/workspace
-v /appdata/nvim-server:/config
-e TZ=Asia/Shanghai
-e USER= < USER >
-e SECRET= < PASSWORD >
hikariai/nvim-server:latest
Warten Sie ein paar Sekunden, bis der Container seinen Bootstrap-Vorgang abgeschlossen hat, und besuchen Sie dann http://localhost:6080/wetty
Visual Studio Code ist ein Code-Editor, der für die Erstellung und das Debuggen moderner Web- und Cloud-Anwendungen neu definiert und optimiert wurde.
$ curl -s https://packagecloud.io/install/repositories/swift-arm/vscode/script.deb.sh | sudo bash
$ sudo apt-get install -y code-oss
Code-Server ist eine Visual Studio Code-Instanz, die auf einem Remote-Server ausgeführt wird und über jeden Webbrowser zugänglich ist. Es ermöglicht Ihnen, überall und auf jedem Gerät wie einem Tablet oder Laptop mit einer konsistenten integrierten Entwicklungsumgebung (IDE) zu programmieren.
Installationsanleitung: [HIER
Archiconda3 ist eine Distribution von Conda für 64-Bit-ARM. Anaconda ist eine kostenlose Open-Source-Distribution der Programmiersprachen Python und R für wissenschaftliches Rechnen (Data Science, Anwendungen für maschinelles Lernen, umfangreiche Datenverarbeitung, prädiktive Analysen usw.), die darauf abzielt, die Paketverwaltung und -bereitstellung zu vereinfachen. Wie Virtualenv nutzt auch Anaconda das Konzept der Erstellung von Umgebungen, um verschiedene Bibliotheken und Versionen zu isolieren.
$ cd ${HOME}
$ curl -fsSL https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda3-0.2.3-Linux-aarch64.sh | sudo bash -
$ cd ~
$ sudo chown -R $USER archiconda3/
$ export " PATH=~/archiconda3/bin: $PATH " >> ~ /.bashrc
$ conda config --add channels conda-forge
$ conda -V
$ conda update conda
$ conda -V
Um zu verhindern, dass Conda die Basisumgebung standardmäßig aktiviert
$ conda config --set auto_activate_base false
$ export " PATH=/bin:/usr/bin: $PATH " >> ~ /.bashrc
$ source ~ /.bashrc
Bitte besuchen Sie die Website HIER für eine Gebrauchsanweisung.
OpenCV v4.1.1 (Python2.7/3.6+ JetPack4.3/4.4/4.5)
# purge old-version
$ sudo apt-get purge libopencv *
# install
$ sudo bash <( wget -qO- https://github.com/yqlbu/jetson-packages-family/raw/master/OpenCV/install_opencv4.1.1_jetson.sh )
Hinweise: Sie können das Skript ändern, um eine benutzerdefinierte Version von OpenCV zu installieren
$ wget https://github.com/yqlbu/jetson-packages-family/raw/master/OpenCV/install_opencv4.1.1_jetson.sh
PyCharm ist eine integrierte Entwicklungsumgebung (IDE), die in der Computerprogrammierung, insbesondere für die Python-Sprache, verwendet wird. Es wird von der tschechischen Firma JetBrains entwickelt.
PyCharm Professional
$ cd ~
$ sudo apt-get update && sudo apt-get install -y openjdk-8-jdk
$ wget https://download.jetbrains.com/python/pycharm-professional-2019.3.4.tar.gz ? _ga=2.42966822.2056165753.1586158936-1955479096.1586158936 -O pycharm-professional-2019.3.4.tar.gz
$ tar -xzf pycharm-professional-2019.3.4.tar.gz && cd pycharm-2019.3.4/bin
$ sudo chmod +x pycharm.sh && mv pycharm.sh pycharm
$ sudo rm -rf pycharm-professional-2019.3.4.tar.gz
$ cd ~
$ echo ' export PATH=/home/ ' $USER ' /pycharm-2019.3.4/bin:$PATH ' >> .bashrc
PyCharm-Community
$ cd ~
$ sudo apt-get update && sudo apt-get install -y openjdk-8-jdk
$ wget https://download.jetbrains.com/python/pycharm-community-2019.3.4.tar.gz ? _ga=2.42966822.2056165753.1586158936-1955479096.1586158936 -O pycharm-community-2019.3.4.tar.gz
$ tar -xzf pycharm-community-2019.3.4.tar.gz && cd pycharm-2019.3.4/bin
$ sudo chmod +x pycharm.sh && mv pycharm.sh pycharm
$ sudo rm -rf pycharm-community-2019.3.4.tar.gz
$ cd ~
$ echo ' export PATH=/home/ ' $USER ' /pycharm-2019.3.4/bin:$PATH ' >> .bashrc
laufen
$ pycharm
Hinweise: Weitere Versionen finden Sie HIER
Lazygit ist eine einfache Terminal-Benutzeroberfläche für Git-Befehle, geschrieben in Go mit der Gocui-Bibliothek.
$ sudo add-apt-repository ppa:lazygit-team/release
$ sudo apt-get update
$ sudo apt-get install lazygit
Ranger ist ein Konsolendateimanager mit VI-Tastenkombinationen. Es bietet eine minimalistische und schöne Curses-Oberfläche mit Blick auf die Verzeichnishierarchie. Im Lieferumfang ist Rifle enthalten, ein Datei-Launcher, der automatisch herausfindet, welches Programm für welchen Dateityp verwendet werden soll.
$ pip install ranger-fm
(Optional) Installieren Sie Ranger-Devicons
$ git clone https://github.com/alexanderjeurissen/ranger_devicons ~ /.config/ranger/plugins/ranger_devicons
$ echo " default_linemode devicons " >> $HOME /.config/ranger/rc.conf
Eine Beispielkonfiguration finden Sie HIER
Lsd ist der ls-Befehl der nächsten Generation
Laden Sie das neueste .deb
-Paket von der Release-Seite herunter und installieren Sie es über:
sudo dpkg -i lsd_0.20.1_arm64.deb # adapt version number and architecture
Ctop ist eine Top-ähnliche Schnittstelle für Containermetriken. Ctop bietet einen prägnanten und komprimierten Überblick über Echtzeitmetriken für mehrere Container.
# echo "deb http://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list
# wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -
# sudo apt update
# sudo apt install docker-ctop
Cointop ist eine schnelle und leichte interaktive Terminal-basierte UI-Anwendung zur Verfolgung und Überwachung von Kryptowährungs-Münzstatistiken in Echtzeit.
Dokumente: HIER
$ curl -o- https://raw.githubusercontent.com/miguelmota/cointop/master/install.sh | bash
Gotop Ein terminalbasierter grafischer Aktivitätsmonitor, inspiriert von gtop und vtop
# install
$ curl -fsSL git.io/gotop.sh | sudo bash
# uninstall
sudo rm -f /usr/local/bin/gotop
Bashtop-Ressourcenmonitor, der die Nutzung und Statistiken für Prozessor, Speicher, Festplatten, Netzwerk und Prozesse anzeigt.
$ sudo add-apt-repository ppa:bashtop-monitor/bashtop
$ sudo apt update
$ sudo apt install bashtop
Httpie ist ein Befehlszeilen-HTTP-Client. Ziel ist es, die CLI-Interaktion mit Webdiensten so benutzerfreundlich wie möglich zu gestalten. HTTPie wurde zum Testen, Debuggen und zur allgemeinen Interaktion mit APIs und HTTP-Servern entwickelt. Mit den Befehlen http und https können beliebige HTTP-Anfragen erstellt und gesendet werden. Sie verwenden eine einfache und natürliche Syntax und bieten eine formatierte und kolorierte Ausgabe.
$ apt install httpie -y
Neofetch ist ein plattformübergreifendes, einfaches Shell-Skript, das nach den Informationen Ihres Systems sucht und diese in einem Terminal zusammen mit einem ASCII-Bild oder einem beliebigen gewünschten Bild neben der Ausgabe anzeigt.
$ sudo add-apt-repository ppa:dawidd0811/neofetch
$ sudo apt-get update
$ sudo apt-get install neofecth
Docker ist im Grunde eine Container-Engine, die Linux-Kernel-Funktionen wie Namespaces und Kontrollgruppen nutzt, um Container auf einem Betriebssystem zu erstellen und die Anwendungsbereitstellung auf dem Container zu automatisieren. Docker verwendet das Copy-on-Write-Union-Dateisystem für seinen Backend-Speicher.
$ sudo wget -qO- https://get.docker.com/ | sh
$ sudo usermod -aG docker $USER
$ sudo systemctl enable docker
$ sudo systemctl status docker
Um den Zugriff auf den CUDA-Compiler (nvcc) während docker build
-Vorgängen zu ermöglichen, fügen Sie "default-runtime": "nvidia"
zu Ihrer /etc/docker/daemon.json
hinzu, bevor Sie versuchen, die Container zu erstellen:
{
"runtimes" : {
"nvidia" : {
"path" : " nvidia-container-runtime " ,
"runtimeArgs" : []
}
},
"features" : {
"buildkit" : true
},
"default-runtime" : " nvidia "
}
Starten Sie den Docker-Daemon neu
$ sudo systemctl restart docker
Überprüfen Sie, ob die Standardlaufzeit auf NVIDIA eingestellt ist:
$ docker info | grep nvidia
Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Mit Compose verwenden Sie eine YAML-Datei, um die Dienste Ihrer Anwendung zu konfigurieren. Anschließend erstellen und starten Sie mit einem einzigen Befehl alle Dienste aus Ihrer Konfiguration.
$ sudo apt-get update
$ sudo apt-get install -y python3 python3-pip libffi-dev libssl-dev
$ sudo pip3 install docker-compose
$ docker-compose -v
NVIDIA L4T-Docker
Offizielles Repo: https://github.com/NVIDIA/nvidia-docker
Installieren Sie NVIDIA-Docker Runtime
$ sudo apt install -y nvidia-docker2
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ docker info | grep nvidia
Das benutzerdefinierte L4T-Docker-Image ist HIER verfügbar
DLib ist eine Open-Source-C++-Bibliothek, die eine Vielzahl von Algorithmen für maschinelles Lernen implementiert, darunter Klassifizierung, Regression, Clustering, Datentransformation und strukturierte Vorhersage. ... K-Means-Clustering, Bayesianische Netzwerke und viele andere.
Dlib v19.18
$ cd ~
$ wget https://raw.githubusercontent.com/yqlbu/face_recognizer/master/setup.sh
$ sudo chmod +x setup.sh
$ ./setup.sh
LabelImg ist ein grafisches Bildanmerkungstool und beschriftet Objektbegrenzungsrahmen in Bildern.
$ sudo apt-get install pyqt4-dev-tools
$ sudo apt-get install python-lxml
$ sudo apt-get install python-qt4
$ sudo apt install libcanberra-gtk-module libcanberra-gtk3-module
$ git clone https://github.com/tzutalin/labelImg.git
$ cd labelImg
$ make qt4py2
$ python labelImg.py
Qt wird für die Entwicklung grafischer Benutzeroberflächen (GUIs) und plattformübergreifender Anwendungen verwendet, die auf allen wichtigen Desktop-Plattformen und den meisten mobilen oder eingebetteten Plattformen laufen. Die meisten mit Qt erstellten GUI-Programme verfügen über eine nativ aussehende Oberfläche. In diesem Fall wird Qt als Widget-Toolkit klassifiziert.
$ sudo apt-get install qt5-default qtcreator -y
$ sudo apt-get install pyqt5 *
$ sudo apt install python3-pyqt5.qtsql
Kubernetes hat sich schnell zu einem Schlüsselbestandteil des Edge Computing entwickelt. Mit Kubernetes können Unternehmen Container am Edge auf eine Weise ausführen, die die Ressourcen maximiert, das Testen erleichtert und es DevOps-Teams ermöglicht, schneller und effektiver zu agieren, da diese Organisationen vor Ort mehr Daten verbrauchen und analysieren.
K3S ist eine leichte Kubernetes-Distribution, die von Rancher Labs entwickelt wurde und sich perfekt für Edge-Computing-Anwendungsfälle eignet, bei denen die Rechenressourcen möglicherweise etwas begrenzt sind.
Die Installations- und Nutzungsanleitung finden Sie HIER
Nomachine ARMv8 (kompatibel mit Jetson-Geräten)
NoMachine ist ein kostenloses, plattformübergreifendes, serverloses Remote-Desktop-Tool, mit dem Sie mithilfe des NX-Videoprotokolls einen Remote-Desktop-Server auf Ihrem Computer einrichten können. Über den Client kann von überall auf der Welt eine Verbindung zum Server hergestellt werden.
Offizielle Website: HIER
Die Desktop-Auflösung wird normalerweise durch die Fähigkeiten des an Jetson angeschlossenen Displays bestimmt. Wenn kein Display angeschlossen ist, wird eine Standardauflösung von 640x480
ausgewählt. Um eine andere Auflösung zu verwenden, bearbeiten Sie /etc/X11/xorg.conf
und hängen Sie die folgenden Zeilen an:
Section " Screen "
Identifier " Default Screen "
Monitor " Configured Monitor "
Device " Tegra0 "
SubSection " Display "
Depth 24
Virtual 1280 800 # Modify the resolution by editing these values
EndSubSection
EndSection
gotop
Installationsanleitung hinzufügen python2
Unterstützung code-server
pip3
, um docker-compose
zu installierenLogs
aktualisieren“.Archiconda3
auf v0.2.3 MIT-Lizenz (C) Kevin Yu