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
파이썬-핍
# 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 이상)
파이썬 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**이 사전 구축되어 있어야 하므로 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는 웹 서버에서 실행되는 컨테이너화된 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
Code-server는 모든 웹 브라우저를 통해 액세스할 수 있는 원격 서버에서 실행되는 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은 컴퓨터 프로그래밍, 특히 Python 언어에 사용되는 통합 개발 환경(IDE)입니다. 체코 회사 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은 gocui 라이브러리와 함께 Go로 작성된 git 명령을 위한 간단한 터미널 UI입니다.
$ sudo add-apt-repository ppa:lazygit-team/release
$ sudo apt-get update
$ sudo apt-get install lazygit
Ranger는 VI 키 바인딩이 있는 콘솔 파일 관리자입니다. 이는 디렉토리 계층 구조에 대한 보기와 함께 최소한의 멋진 저주 인터페이스를 제공합니다. 어떤 파일 형식에 어떤 프로그램을 사용할지 자동으로 찾아주는 파일 실행기인 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은 암호화폐 코인 통계를 실시간으로 추적하고 모니터링하기 위한 빠르고 가벼운 대화형 터미널 기반 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 상호 작용을 가능한 한 인간 친화적으로 만드는 것입니다. 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는 백엔드 스토리지로 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)에 대한 액세스를 활성화하려면 컨테이너 빌드를 시도하기 전에 /etc/docker/daemon.json
구성 파일에 "default-runtime": "nvidia"
추가하세요.
{
"runtimes" : {
"nvidia" : {
"path" : " nvidia-container-runtime " ,
"runtimeArgs" : []
}
},
"features" : {
"buildkit" : true
},
"default-runtime" : " nvidia "
}
도커 데몬 다시 시작
$ 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로 작성된 대부분의 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 배포판으로, 컴퓨팅 리소스가 다소 제한될 수 있는 Edge Computing 사용 사례에 적합합니다.
설치 및 사용 가이드는 여기에서 확인할 수 있습니다.
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으로 MIT 라이센스(C) 케빈 유