英伟达Jetson Tx2开发者工具包环境配置教程_jeston tx2开发环境-程序员宅基地

技术标签: Jetson Tx2  python  YOLOv5  深度学习  linux  人工智能  

英伟达Jetson Tx2开发者工具包环境配置教程

包含系统烧写,系统迁移到SSD,conda环境配置,YOLOv5运行环境配置

下载SDK Manager

使用Nvidia Sdk Manager进行操作系统和SDK烧写,需要Linux环境

可以使用VMware+Ubuntu16.08/18.04。

  1. 下载Nvidia Sdk Manager:
    地址为:SDK Manager | NVIDIA Developer

  2. 安装SDK Manager:

sudo dpkg -i (包名).deb

烧写系统到板载闪存

  1. 用micro-USB连连接开发板和电脑、打开SDK Manager,选择设备Jetson Tx2、不勾选Host Machine
    sdkmanager0
  2. 如图,不勾选Jetson SDK Components,勾选下方I accept the terms and conditions of the license agreements.然后再点击下一步。
    sdkmanager1
  3. 设置用户名和密码,例如nvidia,设置完成点击Flash刷机sdkmanager2
  4. 等待烧写完成

将系统迁移到固态硬盘

固态硬盘插在主板的PCIE x4接口上,需要转接器,不迁移系统可以跳至下一步

格式化硬盘

系统烧写完成后,开发板上电进入系统,在开发板上格式化要迁移系统的固态硬盘

  1. 打开磁盘管理工具disk tx2_0
  2. 选择固态硬盘,点击右上角属性中的第一项"Format Partition" tx2_13. 点击Format
    tx2_2
  3. 确认信息,再次点击Format
    tx2_3
  4. 点击+号创建分区tx2_4
  5. 弹出"Create Partition"页面,点"Next"按钮继续
    tx2_5
  6. 输入Volume Name,点击"Create"继续
    tx2_6
  7. 等待分区完成后,此时状态还是"Not Mounted"状态,点击""图标继续。 tx2_7
  8. 待Contents状态为下图中状态即硬盘挂载成功tx2_8

下载迁移系统工具

打开终端下载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 

重启设备,如图所示即为迁移成功
tx2_9

安装Jetson SDK Components

再次打开SDK Manager,勾选DeepStream后点击下一步
tx2_10

不勾选Jetson OS,勾选Jetson SDK Components
tx2_11
输入用户名和密码点击Install
tx2_12
等待安装完成
tx2_13
安装完成后输入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

安装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
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43353156/article/details/132133170

智能推荐

(邱维声)高等代数课程笔记:解线性方程组的矩阵消元法_比较消元法和初等变换求线性方程组的异同,并阐述自己的收获-程序员宅基地

文章浏览阅读383次。根据邱维声老师的高等代数课程,整理的笔记。_比较消元法和初等变换求线性方程组的异同,并阐述自己的收获

android商城首页demo,FanZhengxi-程序员宅基地

文章浏览阅读281次。Android HyBridge 开发一、三种App开发方式对比1. Native App特点:UI元素、数据内容、逻辑架构都安装在手机终端,导致不可跨平台,每次版本升级都要重新打包。缺点:无法跨平台、升级麻烦、开发成本高(指跨平台开发成本高)优点:速度快,用户体验好。2. Web App定义:可理解为移动端的网站,将网页部署在服务器上,用户通过各大浏览器来访问。缺点:页面访问速度慢、用户体验差。..._安卓应用商店app demo

好烦!快让ChatGPT停止道歉!SD创作宣传图的超细教程;教你在PH冷启动薅流量;CSDN举办AI应用创新大赛 | ShowMeAI日报_inscode deecamp x csdn ai应用创新大赛-程序员宅基地

文章浏览阅读318次。Stable Diffusion 图生图知识思维导图;使用 5W1H 框架启动一个可控的AI项目;培生集团将生成式AI学习工具引入在线高等教育平台;前 Meta AI 高管离职创业,做教育类 ChatGPT 应用……点击阅读全文_inscode deecamp x csdn ai应用创新大赛

【21天算法挑战赛】查找算法——顺序查找_普通查找是顺序查找么-程序员宅基地

文章浏览阅读814次,点赞9次,收藏7次。作者简介:我目前是一个在校学生,现在不敢说自己擅长什么,但是我想通过自己的学习努力让自己的技术、知识都慢慢提升,希望我们一起学习呀~。有话想说:写博客、记笔记并不是一种自我感动,把学到的东西记在脑子里才是最重要的,在这个过程中,不要浮躁,希望我们都可以越来越优秀!由于算法不会改变原有的元素集合,只需要一个额外的变量控制索引变化,所以空间复杂度为常数级:O(1)️兴趣领域:目前偏向于前端学习 算法学习。语言说明:代码实现我会用Python/C++~空间复杂度:O(1)

【新书推荐】【2016.07】认知无线电天线设计_底层认知无线电-程序员宅基地

文章浏览阅读167次。【2016.07】认知无线电天线设计Antenna design for cognitive radio,共320页。如果需要电子版,请联系QQ:3042075372。本书从天线设计的角度阐述了认知无线电,并以一种协议的形式引入了认知无线电的概念,该协议受益于频谱中未被充分利用的区域。This one-of-a-kind new resource presents cognitive ra..._底层认知无线电

Linux基础命令-date设置时间_date设置当前日期-程序员宅基地

文章浏览阅读9.7k次,点赞5次,收藏29次。date命令来自于英文单词它自己,也就是时间、时钟的意思,其功能是用于显示或者设置系统日期与时间信息的。运维人员可以根据自己需要的格式来输出系统时间信息。_date设置当前日期

随便推点

获取栅格图层(Raster)的属性表_r raster getvalue-程序员宅基地

文章浏览阅读388次。pNewRaster是你的Raster图层IRasterBandCollection pRasterBC =(IRasterBandCollection ) pNewRaster;IRasterBand pRasterBand = pRasterBC.Item(0);ITable pTable = pRasterBand.AttributeTable;IQueryFilter pQueryFilter=new QueryFilterClass ();pQueryFilter .WhereClau._r raster getvalue

python反编译class文件_python反编译之字节码-程序员宅基地

文章浏览阅读226次。如果你曾经写过或者用过 Python,你可能已经习惯了看到 Python 源代码文件;它们的名称以.Py 结尾。你可能还见过另一种类型的文件是 .pyc 结尾的,它们就是 Python “字节码”文件。(在 Python3 的时候这个 .pyc 后缀的文件不太好找了,它在一个名为__pycache__的子目录下面。).pyc文件可以防止Python每次运行时都重新解析源代码,该文件大大节省了时间。..._python反编译class文件

hdu 2084 数塔(动态规划)-程序员宅基地

文章浏览阅读38次。本题是一个经典的动态规划题。直接利用记忆化搜索:见图解Ac code :#include<stdio.h>#include<string.h>#define max(i,j) (i>j?i:j)#define maxn 105int a[maxn][maxn];int d[maxn][maxn];int s(int i,...

VMware Workstation 10.0.7 安装-程序员宅基地

文章浏览阅读2.2k次。VMware Workstation 10.0.7 安装VMware Workstation 10.0.7 官网下载地址1、点击“exe.”开始安装,选择“下一步”;2、选择“接受”,点击“下一步”;3、选择“典型”,可更改安装路径;4、取消“启动时检查产品更新”、“帮助”选项;5、默认选项,点击“下一步”;6、正在安装VMware;7、输入密钥;8、安装成..._vmware workstation 10.0.7

Structured Streaming输出分析结果_pyspark structured streaming 打印-程序员宅基地

文章浏览阅读380次。一旦定义了最终结果DataFrame / Dataset,剩下的就是开始流式计算。为此,必须使用返回的 DataStreamWriter Dataset.writeStream()。_pyspark structured streaming 打印

队列的基本实现-程序员宅基地

文章浏览阅读863次,点赞28次,收藏12次。/ 链式结构:表示队列}QNode;// 队列的结构//头指针//尾指针int size;//数据个数}Queue;我们先定义节点用来存储指向下一个节点的指针和要保存的数据,然后定义指向队列的头指针和尾指针和存储数据的个数。// 初始化队列// 队尾 入队列// 队头 出队列// 获取队列头部元素// 获取队列队尾元素// 获取队列中有效元素个数// 检测队列是否为空,如果为空返回非零结果,如果非空返回0// 销毁队列。

推荐文章

热门文章

相关标签