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

一、用官方镜像刷机

  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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2005-2022年各省全体居民人均可支配收入数据(无缺失)

2005-2022年各省全体居民人均可支配收入数据&#xff08;无缺失&#xff09; 1、时间&#xff1a;2005-2022年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;全体居民人均可支配收入 4、范围&#xff1a;31省 5、缺失情况&#xff1a;无缺失 6、指标解释…

动态内存管理—C语言通讯录

目录 一&#xff0c;动态内存函数的介绍 1.1 malloc和free 1.2 calloc 1.3 realloc 1.4C/C程序的内存开辟 二&#xff0c;通讯录管理系统 动态内存函数的介绍 malloc free calloc realloc 一&#xff0c;动态内存函数的介绍 1.1 malloc和free void* malloc (…

上周暗网0day售卖情报一览

黑客声称以 1,700,000 美元出售 Outlook RCE 漏洞 0Day 令人担忧的是&#xff0c;一个名为“Cvsp”的威胁参与者宣布出售所谓的 Outlook 远程代码执行 (RCE) 漏洞 0day。这一所谓的漏洞旨在针对跨 x86 和 x64 架构的各种 Microsoft Office 版本&#xff0c;对全球用户构成重大安…

Git-01

Git是一个免费且开源的分布式版本控制系统&#xff0c;它可以跟踪文件的修改、记录变更的历史&#xff0c;并且在多人协作开发中提供了强大的工具和功能。 Git最初是由Linus Torvalds开发的&#xff0c;用于Linux内核的开发&#xff0c;现在已经成为了广泛使用的版本控制系统&a…

【Spring】深入学习AOP编程思想的实现原理和优势

【切面编程】深入学习AOP编程思想的实现原理和优势 前言AOP的由来及AOP与代理的关系AOP的实现方式详解静态代理动态代理 AOP的应用场景记录日志权限控制数据库事务控制缓存处理异常处理监控管理 AOP的底层实现全流程解析Spring AOP的简介动态代理的实现原理Spring AOP的实现原理…

U-Net网络

U-Net网络 一、基本架构 各个箭头的解释&#xff1a; conv 3 * 3, ReLU&#xff1a;表示通过一个3 * 3的卷积层&#xff0c;并且该层自动附带一个非线性激活层&#xff08;ReLu&#xff09;copy and crop&#xff1a;表示进行裁剪然后再进行拼接&#xff08;在channel的维度上…

仿真51单片机程序(下载安装+Proteus)

我是看的这个大佬的:http://t.csdnimg.cn/Z07SZ 大佬写的很详细了,我就不献丑了. 贴上俩个运行成功的截图,有碰到问题的欢迎交流.

四川景源畅信:新人做抖店的成本很高吗?

随着社交媒体的兴起&#xff0c;抖音成为了一个新兴的电商平台——抖店。不少创业者和商家看中了其庞大的用户基础&#xff0c;想要通过开设抖店来拓展销路。然而&#xff0c;对于刚入行的新手来说&#xff0c;成本问题总是让人犹豫不决。究竟新人做抖店的成本高不高?本文将围…

学习笔记——STM32F103的V3版本——3*3矩阵键盘控制数码管

一.硬件 1.数码管 2.3*3的矩阵键盘&#xff08;自己做的模块&#xff08;手残党一枚&#xff09;&#xff09; 3.总体连接 二.在Keil5中的部分软代码 test.c中&#xff1a; #include "sys.h" #include "usart.h" #include "delay.h" #include …

【NumPy】全面解析NumPy的bitwise_xor函数:高效按位异或操作指南

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

【实战JVM】-基础篇-04-自动垃圾回收

【实战JVM】-基础篇-04-自动垃圾回收 自动垃圾回收1 多语言内存管理1.1 C/C的内存管理1.2 Java的内存管理1.3 自动与手动对比1.4 应用场景 2 方法区的回收2.1 回收条件 3 堆回收3.1 判断是否被引用3.1.1 引用计数法3.1.2 可达性分析算法3.1.2.1 GC Root3.1.2.2 监视GC Root3.1.…

如何用分立器件设计一个过流保护电路

过流保护电路是指当后级负载电流过大或者发生短路时&#xff0c;自动切断电源与后级负载&#xff0c;从而防止大电流损害电源电路&#xff0c;过流保护又叫OCP。 常见的过流保护电路有保险丝过流保护&#xff0c;集成的过流保护芯片&#xff0c;还有这种分立器件搭建的过流保护…

检索模型预训练方法:RetroMAE

论文title&#xff1a;https://arxiv.org/pdf/2205.12035RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder 论文链接&#xff1a;https://arxiv.org/pdf/2205.12035 摘要 1.一种新的MAE工作流&#xff0c;编码器和解器输入进行了不同的掩…

React@16.x(12)ref 转发-forwardRef

目录 1&#xff0c;介绍2&#xff0c;类组件如何使用4&#xff0c;应用场景-高阶组件HOC 1&#xff0c;介绍 上篇文章中提到&#xff0c;ref 只能对类组件使用&#xff0c;不能对函数组件使用。 而 ref 转发可以对函数组件实现类似的功能。 使用举例&#xff1a; import Re…

SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现PSO-TCN-LSTM-Attention粒子群算法优化时间卷积长短期记忆神经网络融合注意力机制多变量时间序列预测预测效果基本介绍程序设…

【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>&…

用天工AI写文章,节约了8个人的成本

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 当下AI工具最大的问题是什么? 是写的文章没有灵魂、没有感情、像机器人! 生成的文章官话连篇&#xff0c;人们一眼就看出是AI写的&#xff0c;这种文章怎么能给客户交差呢?自己这关都过不去&#xff0c;是吧? …

md5强弱碰撞

一&#xff0c;类型。 1.弱比较 php中的""和""在进行比较时&#xff0c;数字和字符串比较或者涉及到数字内容的字符串&#xff0c;则字符串会被转换为数值并且比较按照数值来进行。按照此理&#xff0c;我们可以上传md5编码后是0e的字符串&#xff0c;在…

四川汇聚荣聚荣科技有限公司好不好?

在当今科技飞速发展的时代&#xff0c;企业要想在激烈的市场竞争中脱颖而出&#xff0c;必须具备强大的技术实力和良好的市场口碑。那么&#xff0c;作为一家专注于科技创新的公司&#xff0c;四川汇聚荣聚荣科技有限公司究竟如何呢?接下来&#xff0c;我们将从四个方面进行详…

K210 数字识别 教程

一、烧写固件 连接k210开发板&#xff0c;点开烧录固件工具&#xff0c;选中固件&#xff0c;并下载 二、模型训练 网站&#xff1a;MaixHub 1、上传文件 2、开始标记数据 添加9个标签&#xff0c;命名为1~9&#xff0c;按键盘w开始标记&#xff0c;键盘D可以下一张图片&…