Коллекция УДИВИТЕЛЬНЫХ инструментов, специально разработанных для устройств NVIDIA Jetson.
CopyRight 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-пип
# 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 в 7 раз выше, чем с SD-карты. Таким образом, загрузка с SSD наверняка повысит производительность Jetson Xavier.
Руководство по настройке
Репозиторий Jetsonhacks RootOnNVMe
Скрипт, который может управлять ШИМ-вентилятором при изменении температуры процессора любой машины Jetson (Jetson Nano, Jetson TX1, TX2, Jetson Xavier)
Руководство по настройке
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, посетите сайт ЗДЕСЬ.
Питон 3.6 + ДжетПак 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, посетите сайты ниже:
Джетсон Ксавьер: ЗДЕСЬ
Джетсон Нано: ЗДЕСЬ
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 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**, поэтому ознакомьтесь с инструкциями для LLVM и установите ее перед установкой Numba.
$ 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 — это контейнерный текстовый редактор, подобный 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 — это редактор кода, переработанный и оптимизированный для создания и отладки современных веб- и облачных приложений.
$ curl -s https://packagecloud.io/install/repositories/swift-arm/vscode/script.deb.sh | sudo bash
$ sudo apt-get install -y code-oss
Сервер кода — это экземпляр кода Visual Studio, работающий на удаленном сервере, доступном через любой веб-браузер. Он позволяет вам писать код где угодно и на любом устройстве, например планшете или ноутбуке, с единой интегрированной средой разработки (IDE).
Руководство по установке: [ЗДЕСЬ
Archiconda3 — это дистрибутив conda для 64-битной ARM. 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.
Пичарм Профессионал
$ 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, написанный на Go с использованием библиотеки gocui.
$ sudo add-apt-repository ppa:lazygit-team/release
$ sudo apt-get update
$ sudo apt-get install lazygit
Ranger — консольный файловый менеджер с привязками клавиш VI. Он обеспечивает минималистичный и приятный интерфейс Curs с представлением иерархии каталогов. Он поставляется с Rifle, программой запуска файлов, которая автоматически определяет, какую программу использовать для какого типа файла.
$ pip install ranger-fm
(Необязательно) Установите устройства рейнджера.
$ 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 — это быстрое и легкое интерактивное приложение с пользовательским интерфейсом на базе терминала для отслеживания и мониторинга статистики криптовалютных монет в режиме реального времени.
Документы: ЗДЕСЬ
$ 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 с веб-сервисами максимально удобным для человека. HTTPie предназначен для тестирования, отладки и взаимодействия с API и HTTP-серверами. Команды http и https позволяют создавать и отправлять произвольные HTTP-запросы. Они используют простой и естественный синтаксис и обеспечивают форматированный и цветной вывод.
$ apt install httpie -y
Neofetch — это кроссплатформенный простой сценарий оболочки, который сканирует информацию о вашей системе и отображает ее в терминале вместе с изображением ASCII или любым желаемым изображением рядом с выходными данными.
$ sudo add-apt-repository ppa:dawidd0811/neofetch
$ sudo apt-get update
$ sudo apt-get install neofecth
Docker — это, по сути, контейнерный движок, который использует функции ядра Linux, такие как пространства имен и группы управления, для создания контейнеров поверх операционной системы и автоматизирует развертывание приложений в контейнере. Docker использует файловую систему копирования при записи для своего внутреннего хранилища.
$ sudo wget -qO- https://get.docker.com/ | sh
$ sudo usermod -aG docker $USER
$ sudo systemctl enable docker
$ sudo systemctl status docker
Чтобы включить доступ к компилятору CUDA (nvcc) во время операций docker build
, добавьте "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-Докер
Официальный репозиторий: 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-средних, байесовские сети и многие другие.
Длиб 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, имеют собственный интерфейс, и в этом случае Qt классифицируется как набор инструментов виджетов.
$ sudo apt-get install qt5-default qtcreator -y
$ sudo apt-get install pyqt5 *
$ sudo apt install python3-pyqt5.qtsql
Kubernetes быстро стал ключевым компонентом периферийных вычислений. С помощью Kubernetes компании могут запускать контейнеры на периферии таким образом, чтобы максимизировать ресурсы, упростить тестирование и позволить командам DevOps действовать быстрее и эффективнее, поскольку эти организации потребляют и анализируют больше данных в полевых условиях.
K3S — это легкий дистрибутив Kubernetes, разработанный Rancher Labs, идеально подходящий для случаев использования периферийных вычислений, когда вычислительные ресурсы могут быть несколько ограничены.
Руководство по установке и использованию доступно ЗДЕСЬ.
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
до версии 0.2.3 Лицензия MIT (C) Кевин Ю