專為 NVIDIA Jetson 設備量身定制的一系列很棒的工具
版權所有 2020-2024 @piyoki。版權所有。
此儲存庫旨在為您提供有關如何在 AArch64(ARM) 平台上安裝軟體包的清晰說明,尤其是在 Jetson 系列中。所有軟體包均已在 Jetson AGX Xavier 和 Jetson Nano 上進行了測試。
此儲存庫使用預先提交來管理和維護多語言預提交掛鉤。
在執行任何安裝之前,您可能需要安裝以下基本相依性
$ 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
注意:如果您希望將python3
設定為預設的 python 編譯器和pip
套件管理器,請執行以下操作:
# 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
如果您尚未設定 CUDA 路徑,則可能需要這樣做。
使用腳本設定
$ wget -qO- https://github.com/yqlbu/jetson-packages-family/raw/master/set_cuda.sh | bash -
手動設定
$ 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
與 Jetson Nano 相比,Jetson Xavier NX 和 Jetson AGX Xavier 的一個重要特點是它們配備了 M.2 Key M 連接器。根據第三方測試,我的SSD讀取速度比SD卡快7倍。因此,從 SSD 啟動肯定會提升 Jetson Xavier 的效能。
設定指南
Jetsonhacks RootOnNVMe 儲存庫
一個可以透過任何 Jetson 機器(Jetson Nano、Jetson TX1、TX2、Jetson Xavier)的 CPU 溫度變化來控制 PWM 風扇的腳本
設定指南
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(與 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
驗證
$ python3 -c " import torch ; print(torch.__version__) "
若要安裝其他版本的 PyTorch 和 Torchvision,請造訪此處的網站
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’
如果安裝h5py時遇到錯誤,請執行以下命令解決依賴:
$ sudo apt-get install libhdf5-serial-dev hdf5-tools
若要安裝其他版本的 Tensorflow,請查看以下網站:
傑特森澤維爾:這裡
Jetson Nano:這裡
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
使用 Docker 安裝
$ docker run --name jupyterlab -d
-e TZ=Asia/Shanghai
-p 8888:8888
-v /appdata/jupyterlab:/opt/app/data
hikariai/jupyterlab:latest
運行應用程式
$ 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"]} '
使用指南: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)
**注意:Numba 需要預先建置 **LLVM**,因此請在安裝 Numba 之前查看 LLVM 的說明並安裝它。
$ pip3 install numba==0.31 --user
Jetson-stats 是一個用於監視和控制 NVIDIA Jetson [Xavier NX、Nano、AGX Xavier、TX1、TX2] 的軟體包,適用於所有 NVIDIA Jetson 生態系統。
$ sudo -H pip install -U jetson-stats
$ sudo jtop
NeoVim Server 是一個在 Web 伺服器上執行的容器化 IDE 式文字編輯器。
文件:https://github.com/yqlbu/neovim-server/wiki
字型安裝:
$ 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
快速安裝:
$ 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
等待幾秒鐘,直到容器完成開機過程,然後造訪 http://localhost:6080/wetty
Visual Studio Code 是一個重新定義和最佳化的程式碼編輯器,用於建立和偵錯現代 Web 和雲端應用程式。
$ curl -s https://packagecloud.io/install/repositories/swift-arm/vscode/script.deb.sh | sudo bash
$ sudo apt-get install -y code-oss
Code-server 是一個運行在可透過任何 Web 瀏覽器存取的遠端伺服器上的 Visual Studio Code 實例。它允許您在任何地方、任何裝置(例如平板電腦或筆記型電腦)上使用一致的整合開發環境 (IDE) 進行編碼
安裝指南:[這裡
Archiconda3 是 64 位元 ARM 的 conda 發行版。 Anaconda 是用於科學計算(資料科學、機器學習應用、大規模資料處理、預測分析等)的 Python 和 R 程式語言的免費開源發行版,旨在簡化套件管理和部署。與 Virtualenv 一樣,Anaconda 也使用創建環境的概念來隔離不同的庫和版本。
$ 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
防止 conda 預設啟動基礎環境
$ conda config --set auto_activate_base false
$ export " PATH=/bin:/usr/bin: $PATH " >> ~ /.bashrc
$ source ~ /.bashrc
請在此處查看網站以獲取使用指南。
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 )
注意:您可以修改腳本來安裝自訂版本的 OpenCV
$ wget https://github.com/yqlbu/jetson-packages-family/raw/master/OpenCV/install_opencv4.1.1_jetson.sh
PyCharm 是一種用於電腦程式設計的整合開發環境 (IDE),專門針對 Python 語言。它是由捷克公司 JetBrains 開發的。
PyCharm 專業版
$ 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 社區
$ 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
跑步
$ pycharm
注意:您可以在此處找到其他版本
Lazygit 是一個簡單的 git 指令終端 UI,使用 Go 語言和 gocui 函式庫編寫。
$ sudo add-apt-repository ppa:lazygit-team/release
$ sudo apt-get update
$ sudo apt-get install lazygit
Ranger 是一個具有 VI 鍵綁定的控制台檔案管理器。它提供了一個簡約且漂亮的curses 介面,並帶有目錄層次結構的視圖。它附帶步槍,一個文件啟動器,擅長自動找出哪種文件類型使用哪個程序。
$ pip install ranger-fm
(可選)安裝 Ranger devcons
$ git clone https://github.com/alexanderjeurissen/ranger_devicons ~ /.config/ranger/plugins/ranger_devicons
$ echo " default_linemode devicons " >> $HOME /.config/ranger/rc.conf
範例配置可在此處取得
Lsd 是下一代 ls 指令
從發布頁面下載最新的.deb
套件並透過以下方式安裝:
sudo dpkg -i lsd_0.20.1_arm64.deb # adapt version number and architecture
Ctop 是一個類似 Top 的容器指標介面。 Ctop 提供了多個容器即時指標的簡潔概述。
# 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 是一款快速、輕量級的基於互動終端的 UI 應用程序,用於即時追蹤和監控加密貨幣硬幣統計數據。
文件:這裡
$ curl -o- https://raw.githubusercontent.com/miguelmota/cointop/master/install.sh | bash
Gotop 受 gtop 和 vtop 啟發的基於終端的圖形活動監視器
# install
$ curl -fsSL git.io/gotop.sh | sudo bash
# uninstall
sudo rm -f /usr/local/bin/gotop
Bashtop 資源監視器,顯示處理器、記憶體、磁碟、網路和進程的使用情況和統計資料。
$ sudo add-apt-repository ppa:bashtop-monitor/bashtop
$ sudo apt update
$ sudo apt install bashtop
Httpie 是一個命令列 HTTP 用戶端。其目標是使 CLI 與 Web 服務的互動盡可能人性化。 HTTPie 設計用於測試、偵錯以及與 API 和 HTTP 伺服器的一般互動。 http 和 https 指令允許建立和傳送任意 HTTP 請求。它們使用簡單自然的語法並提供格式化和彩色的輸出。
$ apt install httpie -y
Neofetch 是一個跨平台的簡單 shell 腳本,它掃描系統資訊並將其顯示在終端中,以及輸出旁邊的 ASCII 影像或任何所需的影像。
$ sudo add-apt-repository ppa:dawidd0811/neofetch
$ sudo apt-get update
$ sudo apt-get install neofecth
Docker 基本上是一個容器引擎,它使用命名空間和控制群組等 Linux 核心功能在作業系統之上建立容器,並在容器上自動部署應用程式。 Docker 使用 Copy-on-write 聯合檔案系統作為後端儲存。
$ sudo wget -qO- https://get.docker.com/ | sh
$ sudo usermod -aG docker $USER
$ sudo systemctl enable docker
$ sudo systemctl status docker
要在docker build
作業期間啟用對 CUDA 編譯器 (nvcc) 的訪問,請在嘗試建置容器之前將"default-runtime": "nvidia"
新增至/etc/docker/daemon.json
設定檔:
{
"runtimes" : {
"nvidia" : {
"path" : " nvidia-container-runtime " ,
"runtimeArgs" : []
}
},
"features" : {
"buildkit" : true
},
"default-runtime" : " nvidia "
}
重新啟動 Docker 守護程式
$ sudo systemctl restart docker
驗證預設運行時是否設定為 nvidia:
$ docker info | grep nvidia
Docker Compose 是一個用來定義和執行多容器 Docker 應用程式的工具。透過 Compose,您可以使用 YAML 檔案來設定應用程式的服務。然後,使用單一命令,您可以根據配置建立並啟動所有服務。
$ 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
官方倉庫:https://github.com/NVIDIA/nvidia-docker
安裝 NVIDIA-Docker 運行時
$ sudo apt install -y nvidia-docker2
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ docker info | grep nvidia
自訂 L4T-Docker 映像可在此處取得
DLib 是一個開源 C++ 函式庫,實作各種機器學習演算法,包括分類、迴歸、聚類、資料轉換和結構化預測。 ... K-Means 聚類、貝葉斯網路等等。
Dlib v19.18
$ cd ~
$ wget https://raw.githubusercontent.com/yqlbu/face_recognizer/master/setup.sh
$ sudo chmod +x setup.sh
$ ./setup.sh
LabelImg 是一個圖形影像註解工具,可以在影像中標記物件邊界框。
$ 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 用於開發在所有主要桌面平台和大多數行動或嵌入式平台上運行的圖形使用者介面 (GUI) 和多平台應用程式。大多數使用 Qt 建立的 GUI 程式都具有原生介面,在這種情況下,Qt 被歸類為小工具工具包。
$ sudo apt-get install qt5-default qtcreator -y
$ sudo apt-get install pyqt5 *
$ sudo apt install python3-pyqt5.qtsql
Kubernetes 已迅速成為邊緣運算的關鍵要素。借助 Kubernetes,公司可以在邊緣運行容器,從而最大限度地利用資源,使測試變得更容易,並允許 DevOps 團隊在這些組織消耗和分析更多現場數據時更快、更有效地行動。
K3S 是 Rancher Labs 開發的輕量級 Kubernetes 發行版,非常適合運算資源可能有限的邊緣運算用例。
安裝和使用指南可在此處獲取
Nomachine ARMv8(與 Jetson 裝置相容)
NoMachine 是一款免費、跨平台、無伺服器遠端桌面工具,可讓您使用 NX 視訊協定在電腦上設定遠端桌面伺服器。客戶端可用於從世界任何地方連接到伺服器。
官方網站:這裡
桌面解析度通常由連接到 Jetson 的顯示器的功能決定。如果未連接顯示器,則選擇預設解析度640x480
。要使用不同的分辨率,請編輯/etc/X11/xorg.conf
並附加以下行:
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
安裝指南python2
支持code-server
安裝指南pip3
安裝docker-compose
Logs
部分Archiconda3
至 v0.2.3 麻省理工學院許可證 (C) Kevin Yu