文章目录
Jetson 环境配置
跳线说明
禁用自动启动:
短接Pin7和Pin8
使用开机键开机:
短接Pin1和Pin2,短接Pin7和Pin8
使用重启键重启:
短接Pin5和Pin6
开机进入恢复模式(更新内核等):
短接Pin3和Pin4
安装系统
下载 JetPack 镜像
进入
https://developer.nvidia.com/zh-cn/embedded/jetpack
下载 SD 卡镜像
下载所需全部工具
下载 SD Card Formatter
https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/
最底部选择 Accept 后下载并安装
下载 DiskGenius
https://www.diskgenius.cn/download.php
下载 Etcher
https://www.balena.io/etcher/
格式化 SD 卡
使用 DiskGenius 进行分区删除
否则 SD 卡格式化工具会因为 Jetson 分区过多而卡死
将 SD 卡中所有分区全部删除并保存
使用 SD Card Formatter 进行格式化
选择“Quick format”(快速格式化)
将“Volume label”(卷标)留空
单击“Format”(格式化)开始格式化,然后在警告对话框中单击“Yes”(是)
使用 Etcher 写入镜像到 SD 卡
选择 .img 镜像文件路径
选择 SD 卡
开始烧录
此过程大约持续10-30min
开机
将 SD 卡插回 Jetson 主板并上电开机
查看风扇转速
sudo jetson_clocks --show
其中 PWM 即为风扇的转速值
改变风扇转速
cd /etc
sudo touch rc.local
sudo chmod u+x rc.local
sudo vi rc.local
添加下列内容
#!/bin/bash
sleep 10
sudo /usr/bin/jetson_clocks
sudo sh -c 'echo 255 > /sys/devices/pwm-fan/target_pwm'
其中,255代表风扇转速,可以任意设置 [0, 255] 区间内任意整数值,重启后生效
sudo reboot
安装蓝牙
sudo vi /lib/systemd/system/bluetooth.service.d/nv-bluetooth-service.conf
修改为
ExecStart=/usr/lib/bluetooth/bluetoothd -d --noplugin=audio,a2dp,avrcp
->
ExecStart=/usr/lib/bluetooth/bluetoothd -d
运行
sudo apt-get update
sudo apt-get install bluetooth pulseaudio-module-bluetooth
sudo reboot
安装系统基础功能包
sudo apt update
sudo apt upgrade
sudo apt install python3-pip python3-dev libopenblas-dev libopenmpi-dev libssl-dev libprotobuf-dev protobuf-compiler gfortran libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev autoconf automake libtool curl make g++ unzip swig v4l-utils qt5-default qtcreator libcanberra-gtk-module
安装可选功能包
sudo apt remove cmake
git clone https://github.com/Kitware/CMake.git
cd CMake
./bootstrap
make
sudo make install
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
cd ..
git clone https://github.com/jinfagang/thor.git
cd thor
chmod a+x build_full.sh
./build_full.sh
cd ..
sudo apt remove libprotobuf-dev
git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure --prefix=/usr
make
make check
sudo make install
sudo ldconfig
pip install protobuf
cd ..
git clone --recurse-submodules https://github.com/onnx/onnx-tensorrt.git
cd onnx-tensorrt
mkdir build && cd build
cmake -DCUDA_INCLUDE_DIRS=/usr/local/cuda/include -DTENSORRT_ROOT=/usr/src/tensorrt -DCMAKE_INSTALL_PREFIX=/usr/ ..
make -j
sudo make install
export LD_LIBRARY_PATH=$PWD:$LD_LIBRARY_PATH
python setup.py install --user
检查摄像头
ls /dev/video*
v4l2-ctl --list-devices
v4l2-ctl --device=/dev/video0 --list-formats-ext
nvgstcapture
安装 Anaconda
使用 Archiconda 代替 Anaconda
https://github.com/Archiconda/build-tools/releases/
添加 nvcc 默认路径
vi ~/.bashrc
添加
# CUDA
export CUDA_VERSION=11.4
export PATH=$PATH:/usr/local/cuda-$CUDA_VERSION/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-$CUDA_VERSION/lib64
export CUDA_HOME=/usr/local/cuda-$CUDA_VERSION
测试
nvcc -V
安装 PyTorch
创建 Conda 虚拟环境
conda create -n torch python=3.6
conda activate torch
接下来的所有 pip 相关包的安装均在虚拟环境中进行
下载 PyTorch 包
wget https://nvidia.box.com/shared/static/fjtbno0vpo676a25cgvuqc1wty0fkkg6.whl
安装 PyTorch
pip install -U future setuptools Cython
pip install torch-<...>.whl
git clone --branch release/0.11 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.11.1
python setup.py install --user
若未源码安装CMake,Numpy 会与 Jetson 不兼容,可以安装特定版本解决
pip install numpy==1.18
构建时间很长,并不是死机,可以使用 htop 查看 cpu 占用
测试 Pytorch
import torch as tr
tr.__version__
print(tr.rand(5, 4))
print(tr.hypot(tr.tensor([1.]), tr.tensor([1.])))
安装 Jittor
创建 Conda 虚拟环境
conda create -n jittor python=3.8
conda activate jittor
接下来的所有 pip 相关包的安装均在虚拟环境中进行
安装 Jittor
pip install jittor opencv-python
测试 Jittor 及编译部分内核
由于 jittor 为了加速安装,采用了异步动态编译内核的模式,用到哪些内核才会去编译哪些内核,因此运行代码中间若出现”死机“现象,请耐心等待,实际为编译内核过程,但所用线程满载导致并不会将编译进度实时输出到终端上
python -m jittor.test.test_core
python -m jittor.test.test_example
耐心等待全部运行完毕后没有报错即可正常使用