专为 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