英伟达SSD视觉算法,jetson.inference在jetson nano中部署

news2024/12/24 10:25:23

一、用官方镜像刷机

  1. 安装SD卡擦除工具SD Card Formatter https://www.sdcardformatter.com/download/

  2. 格式化SD卡
    在这里插入图片描述

  3. 下载官方镜像 https://developer.nvidia.com/jetson-nano-sd-card-image

  4. 安装刷机工具balenaEtcher https://www.balena.io/etcher

  5. 将上面下载的镜像压缩包解压后得到镜像文件,然后刷机
    在这里插入图片描述

  6. 上电填写用户名、电脑名及密码等,完成装机

二、下载j安装jetson.interence

1. 下载代码jetson.interence仓库

git clone --recursive https://github.com/dusty-nv/jetson-inference

2.初始化仓库子模块

项目依赖于git子模块。如果你还没有初始化这些子模块,可能会在后续的构建过程中遇到问题。因此,请确保你在项目的根目录下执行以下命令:

cd jetson-inference
git submodule update --init

3. 编译

在jetson-inference目录下创建build文件夹

mkdir build
cd build
cmake ../

cmake时会弹出PyTorch选择
在这里插入图片描述

然后编译

make

大概等待5分钟。。。

将已经编译好的程序和库文件安装到系统的标准位置

sudo make install

三、设置 jetson-utils 的共享库环境变量

如果 jetson-utils 的共享库环境变量没有配置好,运行时会出现下面错误

Segmentation fault (core dumped)

在这里插入图片描述

以下是详细的步骤来添加和配置环境变量 LD_LIBRARY_PATH,以确保找到 jetson-utils 的共享库文件。

1. 确认路径和库文件

首先,确认 jetson-utils 的共享库文件确实存在于 /usr/local/lib 目录下:

ls /usr/local/lib | grep jetson

如果找不到相关的 .so 文件,可能需要重新编译和安装 jetson-inference 工程:

cd ~/jetson-inference
mkdir -p build
cd build
cmake ..
make
sudo make install

2. 添加环境变量

(1) 临时添加环境变量(仅当前终端会话有效)

您可以在当前终端会话中临时添加 LD_LIBRARY_PATH 环境变量:

export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}

(2) 永久添加环境变量(对所有终端会话有效)

为了永久添加 LD_LIBRARY_PATH 环境变量,可以编辑您的 .bashrc 文件:

nano ~/.bashrc

在文件末尾添加以下行:

export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}

保存并退出编辑器,然后运行以下命令以重新加载 .bashrc

source ~/.bashrc

3. 验证环境变量

验证环境变量是否设置正确:

echo $PATH

您应该在输出中看到 /usr/local/cuda/bin

echo $LD_LIBRARY_PATH

您应该在输出中看到 /usr/local/lib

四、设置CUDA环境变量

即使 CUDA 已经安装,如果环境变量没有正确设置,你仍然会遇到 nvcc: command not found 的错误。以下是设置环境变量的步骤:
找到 CUDA 安装路径:
通常,CUDA 安装在 /usr/local/cuda。你可以通过以下命令检查:

ls /usr/local/cuda

设置 PATHLD_LIBRARY_PATH 环境变量:

你可以在终端中临时设置这些环境变量:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

为了使这些设置在每次终端启动时自动生效,你可以将上述命令添加到 ~/.bashrc 文件中:

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

检查安装:

确保 CUDA 工具包正确安装并且环境变量设置正确。你可以通过以下命令确认:

nvcc --version

如果一切正常,你应该会看到 CUDA 编译器的版本信息。

验证 CUDA 环境

可以通过运行 CUDA 示例来验证安装是否成功。NVIDIA 提供了一些 CUDA 示例,你可以通过以下命令编译并运行这些示例:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

如果 CUDA 安装和配置正确,你应该会看到设备查询的输出,显示你的 GPU 信息

五、下载模型

https://github.com/dusty-nv/jetson-inference/releases/

在这里插入图片描述
下载好模型,解压后放到jetson-inference/data/networks目录下

cd <jetson-inference>/data/networks/
tar -zxvf <model-archive-name>.tar.gz

以Googlenet为例
在这里插入图片描述

六、SSD测试

因为要用到视频管道,所以不能通过ssh远程连接进行,要在本地的Terminal中运行,或通过远程桌面连接进行,推荐使用NoMachine,安装方法在后面

1. 分类测试

 python3 imagenet.py /dev/video0 display://0 --network=googlenet

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/17095e3b456a4a65a7c56755f0a440e0.png

在这里插入图片描述

2. 目标识别测试

python3 detectnet.py /dev/video0 display://0 --network=ped-100

在这里插入图片描述

在这里插入图片描述

七、安装NoMachine

1.下载NoMachine https://downloads.nomachine.com/

在这里插入图片描述
在这里插入图片描述

2.安装NoMachine

sudo dpkg -i nomachine_8.11.3_3_arm64.deb

在这里插入图片描述
安装好服务自动开启,可以用同个局域网内的其它设备扫描到并进行远程桌面连接

八、安装jtop

1. 安装 setuptools

首先,确保你已经安装了 setuptools。可以通过以下命令来安装:

sudo apt-get update
sudo apt-get install -y python3-setuptools

2. 安装 jetson-stats

在安装完 setuptools 之后,再次尝试安装 jetson-stats

sudo pip3 install -U jetson-stats

3. 验证安装

安装成功后,可以通过以下命令来验证:

jtop

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1709809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[leetcode hot 150]第五十六题,合并区间

题目&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 思路&#xff1a; 这道题目要求合并一…

若依跳转(新增)页面,在菜单中不显示的页面

在router.js文件中 跳转方式 this.$router.push(/monitor/b/b)

Java面试八股之++操作符是线程安全的吗

操作符是线程安全的吗 操作符本身在Java中并不是线程安全的。这个操作实际上包含三个步骤&#xff1a;读取变量的值、将值加1、然后将新值写回内存。在多线程环境下&#xff0c;如果多个线程同时对同一个变量执行操作&#xff0c;就可能出现竞态条件&#xff08;race conditio…

数据结构(七)递归、快速排序

文章目录 一、递归&#xff08;一&#xff09;使用递归实现1~n求和1. 代码实现&#xff1a;2. 调用过程&#xff1a;3. 输出结果&#xff1a; &#xff08;二&#xff09;青蛙跳台阶问题1. 问题分析2. 代码实现3. 输出结果4. 代码效率优化5. 优化后的输出结果 二、快速排序&…

STM32系列-STM32介绍

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” STM32介绍 STM32介绍 ST&#xff1a;指的是意法半导体 M&#xff1a;指定微处理器 32&#xff1a;表示计算机处理器位数 ARM分成三个系列&#xff1a; Cortex-A&#xff1…

PostgreSQL数据库提权

前面讲述了mysql、SqlServer、Redis数据库相关的提权方式&#xff0c;有兴趣的也可以去看看。 这里讲的postgreSQL数据库提权就是任意命令执行漏洞(CVE-2019-9193)。 目录 数据库简介 漏洞原理 影响版本 漏洞利用 利用前提 漏洞复现 复现准备 复现过程 漏洞修复 数据…

基于C#开发web网页管理系统模板流程-主界面管理员入库和出库功能完善

前言 紧接上篇->基于C#开发web网页管理系统模板流程-主界面管理员录入和编辑功能完善-CSDN博客 本篇将完善主界面的管理员入库和出库功能&#xff0c;同样的&#xff0c;管理员入库和出库的设计套路适用于动态表的录入和编辑 首先还是介绍一下本项目将要实现的功能 &#xf…

【aI】LiveKit Agents Playground

demo 是跑在 playground中的。 语音助手demo 可以语音对话 概念 Concepts Agent: A function that defines the workflow of a programmable, server-side participant. This is your application code. Worker: A container process responsible for managing job queuing …

业内宝刊!影响因子3连涨,OA可选,Elsevier旗下这本SSCI解救你的选刊纠结症

【SciencePub学术】今天小编给大家带来了一本经济类的高分优刊解读&#xff0c;隶属于Elsevier出版社&#xff0c;JCR1区&#xff0c;中科院2区&#xff0c;影响因子高达4.8&#xff0c;且实时影响因子还在持续上涨中&#xff0c;领域相符的学者可着重考虑&#xff01; Emergin…

使用 Flask 实现异步请求处理

文章目录 为什么需要异步请求处理&#xff1f;在 Flask 中实现异步请求处理使用 Flask-Cors 扩展 总结 在开发 Web 应用程序时&#xff0c;异步请求处理是提高性能和并发能力的重要方法之一。Flask 是一个轻量级的 Web 框架&#xff0c;它提供了易于使用的工具来实现异步请求处…

【CCF-CSP】202309-1 202309-2 坐标变换

坐标变换&#xff08;其一&#xff09; 代码&#xff1a; #include <bits/stdc.h> using namespace std; int main(){int n,m,x,y,sumx0,sumy0;cin>>n>>m;for(int i1;i<n;i){cin>>x>>y;sumxx,sumyy;}for(int i1;i<m;i){cin>>x>&…

深入解析三层架构:构建稳定高效的软件系统

概述 顾名思义&#xff0c;三层架构分为三层&#xff0c;分别是“数据访问层”、“业务逻辑层”、“表示层”。 数据访问层&#xff1a;数据访问层在作业过程中访问数据系统中的文件&#xff0c; 实现对数据库中数据的读取保存操作。 表示层&#xff1a;主要功能是 显示数据和…

易查分小程序 学生成绩管理小程序

亲爱的老师们&#xff0c;是不是每次成绩公布后&#xff0c;家长们的连环夺命call让你头大&#xff1f;担心孩子们的成绩信息安全&#xff0c;又想快速分享给家长&#xff0c;这可咋整&#xff1f;别急&#xff0c;易查分小程序来帮忙啦&#xff01; 安全有保障 智能验证码&a…

Java+IDEA+SpringBoot药物不良反应ADR智能监测系统源码 ADR智能化监测系统源码

JavaIDEASpringBoot药物不良反应ADR智能监测系统源码 ADR智能化监测系统源码 药物不良反应&#xff08;Adverse Drug Reaction&#xff0c;ADR&#xff09;是指在使用合格药品时&#xff0c;在正常的用法和用量下出现的与用药目的无关的有害反应。这些反应往往因药物种类、使用…

Vite + Vue3 + Electron 创建打包桌面程序

10 【Vite Vue3 Electron 创建打包桌面程序】 1.使用 Vite 构建 Electron 项目 1.1 创建 Vite 应用&#xff0c;安装 Electron 依赖 创建一个 Vite 项目 npm init vitelatest安装 Electron 相关依赖 npm install electron -D npm install vite-plugin-electron -D 1.2 在…

网络工程师---第四十三天

1、网络地址转换请简述DNS服务器迭代查询与递归的区别&#xff1f; 2、请从技术方面简述RAIDO、RAID1、RAID3、 RAID5的特点&#xff1f; 3、请从层次结构、部署设备和功能配置方面描述层次化的网络结构&#xff1f; 4、请简述IPSECVPN和AH和ESP的区别&#xff1f; 5、请简述ID…

5G工业数采网关是什么?天拓四方

随着工业4.0时代的到来&#xff0c;数字化、网络化、智能化成为工业发展的新趋势。在这个过程中&#xff0c;5G工业数采网关作为一种关键设备&#xff0c;发挥着越来越重要的作用。本文将详细解析5G工业数采网关是什么&#xff0c;以及它在工业领域中的应用和重要性。 一、5G工…

Android Graphics图形栈SurfaceFlinger之间各种Layer以及对应Buffer之间的关系

Android Graphics图形栈SurfaceFlinger之间各种Layer以及对应Buffer之间的关系 SurfaceFlinger layer之间的对应关系

云衔科技:为什么推荐使用zoho crm客户管理系统?

在当今快速变化的商业环境中&#xff0c;企业对高效、智能化的客户关系管理&#xff08;CRM&#xff09;系统的需求日益增长。Zoho CRM&#xff0c;作为全球领先的企业级CRM解决方案提供商&#xff0c;凭借其全面的功能、高度的可定制性、以及无缝集成的生态系统&#xff0c;成…

4、xss-labs之level4、lecel5

一、level4 1、测试分析 level4跟之前的3一样的思路&#xff0c;闭合value的值&#xff0c;但是通过双引号闭合&#xff0c;然后使用onclick的属性弹窗绕过 输入3的payload&#xff1a; 2、所以构造payload payload&#xff1a;"οnclickalert(1)// 二、level5 1、测…