当前位置: 首页 > article >正文

jetson_yolo_deployment 02_linux_dev_skills

02 — Linux 开发必备技能作者智汇嵌入式实验室 · 7yewh本文件是 Jetson YOLO 部署系列的第 2 篇。目标掌握部署过程中真正用得到的 Linux 技能不贪多只求实战够用。1. Shell 脚本基础部署时经常需要写脚本来自动化流程启动推理、批量转换模型、定时录制等。1.1 最小可用脚本#!/bin/bash# 文件名run_inference.sh# 功能启动 YOLO 推理echoecho 启动 YOLO 推理echo# 激活虚拟环境source~/envs/yolo/bin/activate# 运行推理python3 detect.py--weightsyolov8n.pt--source0--device0echo推理结束# 给脚本执行权限chmodx run_inference.sh# 运行./run_inference.sh1.2 变量与参数#!/bin/bash# 变量定义等号两边不能有空格MODELyolov8n.ptINPUT./test_images/DEVICE0CONF0.5# 使用变量python3 detect.py\--weights$MODEL\--source$INPUT\--device$DEVICE\--conf$CONF# 命令行参数# $1 是第一个参数$2 是第二个$# 是参数总数# 用法./run.sh yolov8s.pt 0.7MODEL${1:-yolov8n.pt}# 如果没传参数用默认值CONF${2:-0.5}1.3 条件判断#!/bin/bash# 检查文件是否存在if[-fmodel.onnx];thenecho模型文件存在开始转换python3 convert.pyelseecho错误model.onnx 不存在exit1fi# 检查 GPU 是否可用ifnvidia-smi/dev/null21;thenecho检测到 NVIDIA GPUDEVICE0elseecho未检测到 GPU使用 CPUDEVICEcpufi# 检查目录是否存在不存在则创建[-d./output]||mkdir-p./output1.4 循环#!/bin/bash# 批量处理图片forimgin./images/*.jpg;doecho处理:$imgpython3 detect.py--source$img--savedone# 批量转换模型精度forprecisioninfp32 fp16 int8;doecho转换$precision模型...python3 export.py--precision$precisiondone# while 循环持续监控 GPU 温度whiletrue;dotemp$(cat/sys/devices/virtual/thermal/thermal_zone0/temp)echoGPU 温度:$((temp/1000))°Csleep5done1.5 实用模板部署启动脚本#!/bin/bash# deploy.sh — 一键部署脚本set-e# 任何命令失败就停止echo[1/4] 检查环境...python3-cimport torch; assert torch.cuda.is_available()||{echo错误CUDA 不可用exit1}echo[2/4] 导出 ONNX...python3 export_onnx.py--weightsbest.pt--imgsz640echo[3/4] 转换 TensorRT.../usr/src/tensorrt/bin/trtexec\--onnxbest.onnx\--saveEnginebest.engine\--fp16echo[4/4] 启动推理...python3 infer_trt.py--enginebest.engine--source0echo部署完成2. 进程管理推理程序可能要长时间运行你需要知道怎么管理进程。2.1 前台 / 后台运行# 前台运行占住终端CtrlC 停止python3 detect.py--source0# 后台运行加 符号python3 detect.py--source0# 终端可以继续用程序在后台跑# 查看后台任务jobs# 把后台任务拉回前台fg# CtrlZ 暂停当前任务 → bg 让它在后台继续2.2 nohup 断开 SSH 后继续运行# 问题SSH 断开后后台程序也会被杀死# 解决用 nohupnohuppython3 detect.py--sourcevideo.mp4output.log21# 解释# nohup 不受 SSH 断开影响# output.log 标准输出写入文件# 21 错误输出也写入同一文件# 后台运行# 查看输出tail-foutput.log# 查看进程psaux|grepdetect.py# 杀死进程killPID2.3 tmux推荐比 nohup 更好用tmux 是终端复用器可以创建多个虚拟终端SSH 断开后自动保持。# 安装sudoaptinstalltmux# 创建新会话tmux new-syolo# 在 tmux 里运行推理python3 detect.py--source0# 断开会话程序继续运行# 按 CtrlB然后按 D# 重新连接会话tmux attach-tyolo# 列出所有会话tmuxls# 杀死会话tmux kill-session-tyolotmux 常用快捷键先按 CtrlB再按后面的键快捷键作用d断开detach回到正常终端c创建新窗口n/p下一个 / 上一个窗口%左右分屏上下分屏方向键在分屏间切换3. 系统监控推理时你需要知道 GPU 是否满载、内存是否够用、温度是否正常。3.1 GPU 监控nvidia-smi# 一次性查看nvidia-smi# 输出示例# -------------------------------# | GPU Name Persistence-M|# | Fan Temp Perf Pwr:Usage/Cap|# | 40C P0 10W / 15W |# -------------------------------# | Processes: |# | GPU PID Type Process name |# | 0 1234 C python3 | ← 你的推理进程# -------------------------------# 持续监控每 1 秒刷新watch-n1nvidia-smi# Jetson 专用监控工具更详细sudotegrastats# 输出RAM 2048/4096MB | CPU [45%1420,38%1420] | GPU 65%921 | ...3.2 CPU / 内存监控# htop交互式推荐htop# 按 q 退出# 按 F6 选择排序方式按 CPU%、MEM% 等# 查看内存free-h# 输出# total used free available# Mem: 3.9Gi 2.1Gi 0.3Gi 1.5Gi# Swap: 2.0Gi 0.5Gi 1.5Gi# Jetson 内存很少Nano 4GB如果 free 很低# 1. 减小 batch size# 2. 用更小的模型# 3. 增大 swap3.3 温度监控# Jetson 温度cat/sys/devices/virtual/thermal/thermal_zone*/temp# 输出是毫度除以 1000 得到摄氏度# 一键查看所有温度forzonein/sys/devices/virtual/thermal/thermal_zone*/temp;doname$(cat$(dirname $zone)/type)temp$(cat$zone)echo$name:$((temp/1000))°Cdone# 温度安全范围# 60°C正常# 60-80°C高负载正常但注意散热# 80°C过热会自动降频throttling3.4 磁盘 I/O# 查看磁盘读写速度iotop# 需要 sudo apt install iotop# 查看磁盘使用df-h# 如果 SD 卡快满了sudoaptcleansudodockersystem prune-arm-rf~/.cache/pip4. 网络调试从 PC 传模型、下载数据集、远程访问推理结果都需要网络操作。4.1 基本网络命令# 查看 IP 地址ipaddr show# 测试网络连通性ping8.8.8.8# 测外网ping192.168.1.1# 测网关# 查看端口占用ss-tlnp# 或netstat-tlnp# 查看网络流量ifstat# 需要 sudo apt install ifstat4.2 端口转发远程查看推理结果如果你的推理程序有 Web UI比如 Gradio需要通过端口转发在 PC 上查看# 在 PC 上执行 SSH 端口转发ssh-L8080:localhost:8080 jetson# 含义把 Jetson 的 8080 端口映射到 PC 的 8080 端口# 然后在 PC 浏览器打开 http://localhost:8080# 也可以用 VS Code 的端口转发功能更方便4.3 下载文件# wget最常用wgethttps://example.com/dataset.zip# 断点续传wget-chttps://example.com/large_file.zip# curlcurl-Ohttps://example.com/model.onnx# Python 方式有进度条pipinstallgdown gdown https://drive.google.com/uc?idxxxxx# Google Drive 文件5. 文本编辑器5.1 nano最简单推荐新手nanoconfig.yaml# 编辑完# CtrlO → Enter 保存# CtrlX 退出5.2 vim高效建议逐步学vimconfig.yaml# 模式# 按 i 进入编辑模式可以打字了# 按 Esc 回到命令模式# 输入 :wq 保存并退出# 输入 :q! 不保存退出# 最常用操作# dd 删除当前行# yy 复制当前行# p 粘贴# /text 搜索 text# u 撤销5.3 实际推荐日常开发用 VS Code Remote-SSH编辑配置文件用 nano高频操作熟练后再学 vim。6. Git 基础管理你的推理代码和配置。# 初始化仓库gitinit# 添加文件gitadddetect.py config.yaml# 提交gitcommit-m添加推理脚本# 查看状态gitstatus# 查看提交历史gitlog--oneline# 克隆别人的项目最常用gitclone https://github.com/ultralytics/ultralytics.git# 创建分支gitcheckout-bfeature/tensorrt# 合并分支gitcheckout maingitmerge feature/tensorrt部署时最常用的 Git 操作# 1. 克隆 YOLO 仓库gitclone https://github.com/ultralytics/ultralytics.git# 2. 切到特定版本gitcheckout v8.1.0# 3. 拉取更新gitpull7. 本章实操任务□ 1. 写一个 Shell 脚本接收模型路径作为参数检查文件是否存在后运行推理 □ 2. 用 tmux 创建一个会话在里面运行一个 Python 脚本然后断开再重连 □ 3. 用 watch -n 1 nvidia-smi 监控 GPU如果有 □ 4. 配置 SSH 端口转发把远程 8080 端口映射到本地 □ 5. 用 git clone 克隆 ultralytics 仓库 □ 6. 写一个循环脚本每 5 秒打印一次 CPU 温度智汇嵌入式实验室 · 7yewh

相关文章:

jetson_yolo_deployment 02_linux_dev_skills

02 — Linux 开发必备技能作者:智汇嵌入式实验室 7yewh 本文件是 Jetson YOLO 部署系列的第 2 篇。 目标:掌握部署过程中真正用得到的 Linux 技能,不贪多,只求实战够用。1. Shell 脚本基础 部署时经常需要写脚本来自动化流程&…...

jetson_yolo_deployment 01_linux_dev_env

01 — Linux 开发环境搭建作者:智汇嵌入式实验室 7yewh 本文件是 Jetson YOLO 部署系列的第 1 篇。 目标:从"能用 Linux"到"能在 Linux 上高效开发"。你现在的水平 vs 部署需要的水平 你现在会的: 部署 YO…...

波比跳,一个动作练遍全身 75% 肌群!

波比跳,一个动作练遍全身 75% 肌群! 一个动作,相当于一个健身房! 🏋️ 深蹲(练腿臀)💪 俯卧撑(练胸肩臂)🦘 跳跃(练爆发力 心肺&…...

血泪教训!MySQL索引我踩过的5个坑(附生产级解决方案)

血泪教训!MySQL索引我踩过的5个坑(附生产级解决方案)写在前面:本文包含完整的踩坑经历、原因分析、解决方案和代码示例,建议先收藏再阅读前言 大家好,我是小柚。。 说出来你们可能不信,我第一次…...

三菱PLC追剪项目:与昆仑通态触摸屏的完美协作

三菱plc追剪昆仑通态触摸屏三菱plc,编码器读取位置和速度,双步进或者双伺服,X轴同步送料,Y轴旋转切断,送料长度,旋转角度均可设置。 程序稳定可靠,借鉴价值高。在自动化控制领域,追剪…...

水浒智慧与职场跃迁:AI时代的管理学启示

目录 一、梁山政治的管理学本质:组织从 “草莽” 到 “体系” 的进化 1. 宋江:“以义为纲” 的领导力构建 —— 职场跃迁的核心是 “人心凝聚” 2. 吴用:“谋定而后动” 的策略智慧 —— 职场破局的关键是 “借势而为” 3. 林冲&#xff…...

基于三菱PLC和MCGS组态的药片装瓶控制系统:开启制药自动化新篇

No.787 基于三菱PLC和MCGS组态的药片装瓶控制系统在制药行业,药片装瓶环节的高效与精准至关重要。今天咱们来聊聊基于三菱PLC和MCGS组态的药片装瓶控制系统,看看它是如何提升生产效率与质量的。 三菱PLC:系统的智能“大脑” 三菱PLC&#xff…...

用WDCNN实现轴承智能故障诊断:挖掘其优越抗噪能力

DL00351-首层卷积为宽卷积的WDCNN的实现优越抗噪能力轴承的智能故障诊断 首层卷积为宽卷积的深度神经网络Deep Convolutional Neural Networks with Wide First-layer Kernels (WDCNN)的实现,该模型具有优越的抗噪能力,可用于轴承的智能故障诊断。在工业…...

大数据领域运用Eureka提升系统弹性

大数据领域运用Eureka提升系统弹性关键词:Eureka、服务发现、系统弹性、微服务架构、负载均衡、容错机制、大数据系统摘要:本文深入探讨了如何在大数据系统中运用Netflix Eureka服务发现组件来提升系统弹性。我们将从微服务架构的基础概念出发&#xff0…...

Macbook Neo挤爆牙膏也没做到的,它做到了!

谁懂啊家人们!刚入手MacBook Neo就被苹果封闭生态整emo了😤想和安卓手机传文件、用Mac玩3A大作、远程操控办公电脑…结果要么各种不兼容,要么操作复杂到想摔电脑💻直到我挖到了UU远程!简直是Mac用户的救命稻草&#x1…...

python hadoop spark hive 商品比价系统 爬虫+可视化

1、项目介绍技术栈: Python语言、MySQL数据库 、Django框架、requests爬虫技术、HTML2、项目界面(1)商品比价界面(2)商品推荐(3)系统主页(4)注册登录界面(5&a…...

基于python spark hadoop hive 旅游推荐系统 协同过滤推荐算法

1、项目介绍技术栈: Python语言、Django框架、Echarts可视化、基于用户的协同过滤推荐算法、购票功能、HTML 旅游推荐系统可视化2、项目界面(1)系统首页----景点分类、热门景点(2)旅游景点详情页----点赞、评论、收藏、…...

python hadoop spark hive LDA主题分析 NLP情感分析旅游景点评论数据分析系统

1、项目介绍 项目技术说明: python语言、Flask框架、MySQL数据库、Echarts可视化、 评论多维度分析、NLP 情感分析、LDA主题分析、Bayes评论分类2、项目界面 (1)评论年月时间分析(2)评论评分等级分析(3&…...

基于python hadoop spark hive 租房数据分析可视化系统 房源信息分析 爬虫

1、项目 介绍 Python 租房数据分析可视化系统 爬虫 Flask框架、Layui前端框架、Echarts可视化、requests爬虫、MySQL数据库本程序使用python编写,后端采用Flask框架,采用Layui前端框架,数据库采用mysql设计,echarts进行数据可视化…...

轻量专业的 M3U8 在线播放器,m3u8live.cn详解与使用指南

在 HTTP Live Streaming(HLS)流媒体技术的应用中,M3U8 作为核心的播放列表格式,被广泛应用于直播、点播等音视频场景。而在 M3U8 相关的开发与调试过程中,一款高效、专业的在线播放工具,能大幅降低工作成本…...

HLS 开发必备神器,详解m3u8live.cn的核心功能与使用价值

在 HTTP Live Streaming(HLS)流媒体技术体系中,M3U8 作为核心的播放列表格式,被广泛应用于直播、点播、短视频等音视频场景。但在实际开发过程中,M3U8 流的验证、播放调试却常常成为开发卡点 —— 本地测试环境搭建繁琐…...

GPT-5.4如何解决Excel数据清洗噩梦?一个客户反馈表的深度实测

目前国内职场人若想体验GPT-5.4在Excel数据清洗上的强大能力,最便捷的方式是使用国内聚合镜像站RskAi(ai.rsk.cn)。该平台已同步接入OpenAI于2026年3月发布的GPT-5.4最新版本,完整保留了ChatGPT for Excel插件的深度集成能力&…...

2026年打工人效率革命:GPT-5.4如何帮你搞定Excel、邮件和日常琐事

目前国内职场人若想体验GPT-5.4这一最新生产力工具,最便捷的方式是使用国内聚合镜像站RskAi(ai.rsk.cn)。该平台已同步接入OpenAI于2026年3月发布的GPT-5.4最新版本,完整保留了模型的Excel深度集成、原生计算机操控、百万级上下文…...

《ShardingSphere解读》04 配置驱动:ShardingSphere 中的配置体系是如何设计的?

ShardingSphere 提供了高度抽象的配置体系,开发者只需通过声明式配置即可定义分片规则、读写分离策略、数据脱敏规则等,而无需关心底层的复杂实现。那么,这套配置体系究竟是如何设计的?它包含了哪些核心概念?不同的配置…...

《ShardingSphere解读》03 JDBC 规范与 ShardingSphere 是什么关系?

在上一篇中,我们全面了解了 ShardingSphere 作为 Apache 顶级开源软件的发展历程、设计理念和核心功能。其中特别强调了一点:ShardingSphere 是一种典型的客户端分片解决方案,而客户端分片的核心实现方式之一就是重写 JDBC 规范。ShardingSph…...

【GitHub开源项目】一文学会Git提交本地代码到GitCode远程代码仓库)

摘要 本文详细讲解如何将本地代码提交到GitCode远程仓库的全流程。内容涵盖Git基础概念、安装配置、本地仓库初始化、提交规范、远程连接、分支管理与合并策略,以及常见问题解决方案。 目录 Git基础介绍与安装配置本地仓库初始化与文件添加提交更改与提交信息规范…...

智慧矿井监测数据集 矿车载人状态检测 矿车数据集 矿山井下作业安全监测、违规载人行为自动识别、智能视频监控预警第10563期

计算机视觉数据集数据集概览 本数据集聚焦矿山井下场景,针对矿车载人状态检测设计,适用于目标检测类深度学习模型训练与验证。项目内容类别数量2类类别中文名称正常情况、载人图像数量900张数据集格式YOLO格式核心应用价值矿山井下作业安全监测、违规载人…...

00后天才少女创业,Axiom获2亿美元A轮融资冲击AI上限

2亿美元A轮融资,Axiom估值飙升至16亿美元 近日,洪乐潼创立的AI初创公司Axiom完成了2亿美元的A轮融资,由Menlo Ventures领投,Greycroft、Madrona Venture、B Capital、Toyota Ventures等老股东继续追加投资。至此,公司估…...

马斯克 xAI 人事动荡,项目困境何解?

近日,马斯克的 AI 创业公司 xAI 人事变动剧烈,3 年前 11 名联合创始人仅 2 人在职。同时,其 AI 智能体项目“巨硬”困境重重,产品未达承诺。人事变动:华人联合创始人全离职3 年前 xAI 的 11 名联合创始人,如…...

Violoop:AI Agent 领域的破局者?

3 月 12 日,Violoop 宣布完成数千万元种子轮和天使轮融资。这家专注 AI PC 自动化硬件的中国创业公司,以独特路径探索 AI Agent 落地,有望打破行业格局。融资助力发展Violoop 完成两轮融资,资金将用于产品量产、市场推广和数据集构…...

AI 浪潮下软件行业的变革与重塑

AI 赋能:软件开发进入新时代两名 19 岁高中生凭借 AI 卡路里追踪应用 Cal AI 年收入超 3000 万美元,AI 编程公司 Cursor 年化收入超 20 亿美元,这些案例彰显了 AI 在软件领域的巨大潜力。Cursor 公司内部超三分之一的代码由 AI 完全自主完成&…...

三月估值翻四倍,Kimi改写AI叙事?

投资界消息,月之暗面Kimi正以180亿美元投前估值进行10亿美元融资。不到三个月,其估值翻四倍,成中国最快“十角兽”,业务端也迎来爆发。融资速度惊人去年底Kimi完成5亿美元C轮融资,投后估值43亿美元。春节期间超7亿美元…...

个人微信接入龙虾全攻略:官方合规直连,模型运行清晰,新手零门槛上手

个人微信接入龙虾全攻略:官方合规直连,模型运行清晰,新手零门槛上手 近期微信官方开放合规通道,个人微信终于能直接接入OpenClaw(俗称“龙虾”),不用再碰违规插件、不用担心里程碑封号风险&…...

抽象、建模与系统化:人类文明进步的通用算法

在人类漫长的历史中,从钻木取火到登月探索,从结绳记事到大语言模型,每一次重大突破似乎都源于某种深层的认知机制。这种机制并非神秘天赋,而是一种可被识别、学习和复用的方法论。本文将深入探讨这一方法论的核心三要素&#xff1…...

一语一世界:从平凡句子到人工智能的奇妙旅程

在人类文明的长河中,最震撼的突破往往源于对最平凡事物的深刻洞察。铀矿石不过是地壳中一种普通的矿物,却因人类对其原子结构的探索,最终释放出足以改变世界的能量;而书页上一句再普通不过的话——“今天天气很好”——竟也能成为…...