英伟达Jetson Tx2开发者工具包环境配置教程
包含系统烧写,系统迁移到SSD,conda环境配置,YOLOv5运行环境配置
下载SDK Manager
使用Nvidia Sdk Manager进行操作系统和SDK烧写,需要Linux环境
可以使用VMware+Ubuntu16.08/18.04。
-
下载Nvidia Sdk Manager:
地址为:SDK Manager | NVIDIA Developer -
安装SDK Manager:
sudo dpkg -i (包名).deb
烧写系统到板载闪存
- 用micro-USB连连接开发板和电脑、打开SDK Manager,选择设备Jetson Tx2、不勾选Host Machine
- 如图,不勾选Jetson SDK Components,勾选下方I accept the terms and conditions of the license agreements.然后再点击下一步。
- 设置用户名和密码,例如nvidia,设置完成点击Flash刷机
- 等待烧写完成
将系统迁移到固态硬盘
固态硬盘插在主板的PCIE x4接口上,需要转接器,不迁移系统可以跳至下一步
格式化硬盘
系统烧写完成后,开发板上电进入系统,在开发板上格式化要迁移系统的固态硬盘
- 打开磁盘管理工具disk
- 选择固态硬盘,点击右上角属性中的第一项"Format Partition" 3. 点击Format
- 确认信息,再次点击Format
- 点击+号创建分区
- 弹出"Create Partition"页面,点"Next"按钮继续
- 输入Volume Name,点击"Create"继续
- 等待分区完成后,此时状态还是"Not Mounted"状态,点击"▶"图标继续。
- 待Contents状态为下图中状态即硬盘挂载成功
下载迁移系统工具
打开终端下载rootOnNVMe
sudo apt update
sudo apt upgrade
git clone https://github.com/jetsonhacks/rootOnNVMe.git
# 切换到root用户, 设置root用户密码
sudo passwd root
# 切换到root
su -
cd /home/用户名/rootOnNVMe
./copy-rootf-ssd.sh
./setup-service.sh
修改启动文件
cd /boot/extlinux
sudo cp extlinux.conf extlinux.bak
sudo gedit /boot/extlinux/extlinux.conf
修改前
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 nv-auto-config
修改后
TIMEOUT 30
DEFAULT nvmeSSD
MENU TITLE L4T boot options
LABEL nvmeSSD
MENU LABEL primary NVMe SSD
LINUX /boot/Image
INITRF /boot/initrd
APPEND ${cbootargs} quiet root=/dev/nvme0n1p1 rw rootwait rootfstype=ext4
LABEL emmc
MENU LABEL Internal eMMC
LINUX /boot/Image
INITRD /boot/initrd
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 nv-auto-config
重启设备,如图所示即为迁移成功
安装Jetson SDK Components
再次打开SDK Manager,勾选DeepStream后点击下一步
不勾选Jetson OS,勾选Jetson SDK Components
输入用户名和密码点击Install
等待安装完成
安装完成后输入nvcc -V,如果配置成功可以看到CUDA版本号
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_28_22:34:44_PST_2021
Cuda compilation tools, release 10.2, V10.2.300
Build cuda_10.2_r440.TC440_70.29663091_0
安装jtop
sudo apt install python3-pip
sudo -H pip3 install jetson-stats
安装miniforge
下载安装脚本
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-aarch64.sh
chmod +x Miniforge3-Linux-aarch64.sh
./Miniforge3-Linux-aarch64.sh
按一次回车,一次空格,输入yes,再按回车开始安装miniforge,当提示Do you wish the installer to initialize Miniforge3
by running conda init? [yes|no]时在输入一次yes回车,再次打开终端左边出现(base)时代表安装成功
如果觉得打开终端的速度变慢了可以禁止自动激活base环境
conda config --set auto_activate_base false
安装pytorch
新建一个conda环境
conda create -n py36 python=3.6
下载pytorchPyTorch for Jetson - Jetson & Embedded Systems / Jetson Nano - NVIDIA Developer Forums选择合适的版本
激活conda环境,安装numpy,注意后面都是再conda环境激活的状态下使用conda install
conda activate py36
conda install numpy
安装pytorch
sudo apt install libopenblas-base libopenmpi-dev libomp-dev
pip install torch-1.10.0-cp36-cp36m-linux_aarch64.whl
验证pytorch,打开终端输入:
python3
import torch
torch.__version__
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
安装torchvision
按Ctrl-D推出python环境回到shell环境下
安装Cython、下载torchvision源码
sudo apt install libavformat-dev libavcodec-dev libswresample-dev libswscale-dev libavutil-dev
conda install cython pillow
git clone -b v0.11.1 https://github.com/pytorch/vision torchvision
安装torchvision
cd torchvision
export BUILD_VERSION=0.11.1
python3 setup.py install --user
搭建YOLOv5运行环境
安装依赖包
sudo apt install gfortran build-essential libatlas-base-dev
conda install matplotlib seaborn requests pyyaml tqdm
pip install opencv-python==4.5.5.64
获取yolov5-6.0
git clone -b v6.0 https://github.com/ultralytics/yolov5.git
cd yolov5
python detect.py