CentOS7下yum安装SmokePing:十分钟搭建网络延迟监控系统
简介面向CentOS 7系统运维与网络管理人员的Smokeping安装部署手册以yum包管理器为主线完整覆盖扩展软件源启用、软件安装、配置文件修改、监控服务启动和网页服务启动等关键环节同时介绍基于网际控制报文协议的延迟、丢包、抖动监控原理以及该工具与常见监控平台集成的方式并列举数据中心、企业、运营商乃至家庭网络等适用场景适合需要快速搭建网络延迟监控体系的初中级运维人员。资源为独立的Word文档共一个文件压缩包约一百六十六千字节内容精炼集中便于离线查阅与打印。目前已有八百零四人学习下载是入门Smokeping的高频参考资料。文档保留了实际部署中的命令示例与关键配置路径针对扩展源未启用、服务启动顺序等常见问题给出提示可帮助读者有效避开部署陷阱在较短时间内完成一套可用的延迟监控环境。1. CentOS7 yum 安装 smokeping十分钟搭起网络质量监控先搞懂它到底在测什么很多人第一次见到 smokeping以为是类似 Zabbix 那种“装完就能出图”的监控全家桶实际上它只专注做一件事持续探测目标主机或服务的网络延迟、丢包率然后用 RRDtool 画出随时间变化的趋势图。它的核心价值不是告警而是让你事后回溯“昨天下午网络到底抖没抖”或者直观对比多个节点的链路质量。这份《CentOS7 yum 安装 smokeping最简明手册.docx》解决的正是从零到出图的全过程适合刚接手服务器、需要快速搭一套可视化网络质量监控的运维新手也适合想用最少步骤把 smokeping 跑起来、不想啃源码编译的老手。先说一个反直觉的结论yum 安装最大的坑往往不在 smokeping 本身而在 Perl 依赖和 SELinux。2. 安装前的选型与准备yum 源、EPEL 和 smokeping 的工作机制在动手指输入命令之前我建议先花两分钟搞清楚 smokeping 的架构因为后面的排错全都围绕这张图进行。smokeping 由三部分组成探测端Prober负责定时发探测包RRDtool 负责存储和绘图Web 前端通常是 Apache CGI负责展示图形。三者缺一不可而 yum 安装方式的最大优势是自动帮你装好 Perl 模组和依赖最大劣势是 CentOS 7 默认仓库里没有 smokeping必须启用 EPEL 源。2.1 逻辑梳理smokeping 的安装路径和启动链路我们先看安装完成后的目录布局这决定了后续所有配置文件在哪改、日志去哪看。用 yum 安装 smokeping 后关键路径如下/etc/smokeping/config主配置目录最重要的文件是Config定义了探针类型、目标层级、报警条件。/usr/share/smokeping/wwwWeb 根目录包含smokeping.cgi和smokeping.js。/etc/httpd/conf.d/smokeping.confApache 的虚拟目录配置决定你通过哪个 URL 访问。/var/lib/smokepingRRD 数据库文件存放位置删除这里面的.rrd文件相当于抹掉历史数据。/var/log/smokeping探测日志存放目录排错第一站。启动链路是smokeping主进程读取/etc/smokeping/config里的配置启动对应探针默认是 fping按设定的间隔发包并接收响应把结果写入 RRD 文件Apache 的 CGI 脚本读取同一份 RRD 文件动态生成 PNG 图片和 HTML 页面。理解这条链路的直接作用是当你发现“网页打不开但 smokeping 进程在跑”问题大概率出在 Apache 或 CGI 权限当你发现“网页能开但没图”问题多半在 RRD 文件权限或 smokeping 进程没写入权限。2.2 环境准备一个干净的 CentOS 7 和 EPEL 源的启用安装 smokeping 的前置条件很简单一台能联网的 CentOS 7 服务器装好 httpd。很多教程会漏掉 httpd直接用 smokeping 自带的 Web 服务其实 smokeping 没有独立 Web 服务必须依赖 Apache。先更新系统并安装 EPEL# 更新系统包时间较长建议放后台执行 yum update -y # 安装 epel-release这是 smokeping 所在仓库 yum install -y epel-release # 安装 httpd 和 smokeping yum install -y httpd smokeping这里说明一下为什么我要单独装 httpd虽然 smokeping 的 RPM 包声明了依赖 httpd但 CentOS 7 的 minimal 安装通常不会自动带上手动确认能避免后面出现“smokeping 装完了却找不到网页目录”的尴尬。安装完成后立即检查版本smokeping --version正常会输出类似SmokePing 2.6.11的版本号。如果这个命令报错找不到命令检查/usr/bin/smokeping是否存在或者用rpm -ql smokeping查看文件列表。2.3 参数速查smokeping 配置里的核心字段含义主配置文件/etc/smokeping/config是理解整个系统的钥匙。文档摘录了最常用的几组参数我按自己的使用经验整理成表参数字段作用常用取值踩坑点probe指定探测工具fping或FPing大小写在意建议全小写count每个周期发包数20太大加重网络负担太小丢包率失真interval探测间隔秒数60、300要和 RRD 的 step 对齐否则图会拉长host目标地址IP 或域名不要加http://前缀menu/title页面显示名称自定义字符串中文字体显示可能乱码alerts告警规则solo等依赖 mail 组件默认没配初次使用时我通常只改probe、count、interval和host这四个字段。文档里把*** Targets ***区块称为“目标树”它的缩进层级直接决定 Web 页面上的目录层级结构每个缩进代表一级子菜单配置错会在启动时报ERROR: parse error。3. 动手安装与配置从 yum 到出图的完整命令与参数说明理论部分说完了现在进入实操。这一章我按“初始化探针 → 配置目标 → 起服务 → 开网页”的顺序走一遍每步给出完整命令和参数解释最后落到你浏览器上真正看到的那张图。3.1 启动 smokeping 并验证进程状态# 启动 smokeping 主进程 systemctl start smokeping # 设为开机自启 systemctl enable smokeping # 检查运行状态 systemctl status smokepingsystemctl status输出里如果看到Active: active (running)说明主进程已经起来了。但进程活着不代表配置合法smokeping 的配置文件在启动时会被解析写错了会在启动瞬间失败。这时候你要用另一个命令确认# 检查配置文件的语法 smokeping --check --config/etc/smokeping/config返回Config file syntax OK才说明配置没问题。如果报了ERROR: parse error near ...用vim打开配置文件定位到提示行最常见的原因是字段名拼错、缩进用了 Tab 而 smokeping 只接受空格、或者逗号写成中文标点。3.2 配置 Apache 虚拟目录并处理权限smokeping 安装包默认会给 Apache 生成一份配置但 CentOS 7 的 httpd 默认监听 80 端口直接访问即可。先确认配置加载# 查看 Apache 加载的 smokeping 配置 cat /etc/httpd/conf.d/smokeping.conf如果文件内容显示Alias /smokeping /usr/share/smokeping/www说明路径映射正常接着启动 httpd 并设置开机自启systemctl start httpd systemctl enable httpd权限问题有个隐藏雷区Apache 以apache用户运行而 smokeping 进程以smokeping用户运行两者对/var/lib/smokeping和/usr/share/smokeping/www的读写权限如果不匹配网页能打开但图出不来。稳妥做法是统一属主# 把 smokeping 数据目录属主改为 apache并设置权限 chown -R apache:apache /var/lib/smokeping/ chmod -R 755 /var/lib/smokeping/ # www 目录保持通用权限 chmod -R 755 /usr/share/smokeping/www/从实际经验看/var/lib/smokeping下面如果出现.rrd文件属主是smokeping而 Apache 进程无法读取网页上的图就会显示红叉。改动属主后最好重启两个服务确保新权限生效。3.3 修改 Targets 区块添加你要监控的目标现在编辑核心文件/etc/smokeping/config找到*** Targets ***区块这里用树形缩进定义监控目标。以下是我惯用的模板*** Targets *** probe FPing menu Top title Network Latency Grapher remark 服务器网络质量监控 内部网络 网关 menu 网关 title 本地网关延迟 host 192.168.1.1 DNS服务器 menu DNS title DNS 服务器延迟 host 8.8.8.8 外部目标 公司官网 menu 官网 title 公司首页可达性 host example.com注意缩进规则一级目标用二级目标用主机名host前面是 Tab 还是空格都行但必须保持统一。文档里特别提醒menu字段决定网页左侧树形菜单的显示名title决定图形上方的说明文字host写 IP 或域名均可但不要带协议头。保存后重新加载# 不中断服务地重载配置 smokeping --reload --config/etc/smokeping/config # 或者直接重启服务 systemctl restart smokeping我用实际经验建议修改配置后先跑一遍smokeping --check确认没问题再restart因为 smokeping 启动失败的报错信息不一定直观直接在 systemd 状态里看容易懵。3.4 打开 Web 页面验证出图服务都起来后浏览器访问http://服务器IP/smokeping能看到 smokeping 的标配界面左侧圆形展开菜单右侧是延迟折线图。第一次打开时页面可能只显示空壳这是正常的因为 smokeping 采集数据需要时间默认每 60 秒一轮至少等 5 分钟才有可见曲线。我通常会等 10 分钟左右再刷新看到类似“延迟中位数、丢包率”的统计数字出现就算成功。如果页面完全打不开按这个顺序排查先httpd -t检查 Apache 语法再curl -I http://localhost/smokeping看 HTTP 状态码最后看/var/log/httpd/error_log里的 CGI 错误。常见的是 CGI 执行权限没开检查/etc/httpd/conf.d/smokeping.conf里有没有Options ExecCGI和AddHandler cgi-script .cgiCentOS 7 的默认配置可能没带这两行。4. 进阶调参与告警配置把 smokeping 从“能出图”用到“真有用”出图只是开始smokeping 真正厉害的地方在于多层探测和告警触发。这一章讲两个最实用的进阶配置多探针轮询和邮件告警。4.1 多探针配置不同目标用不同发包策略默认情况下所有目标都用FPing探针如果某个目标比如外部网站不想发太多包你可以单独给它指定探针。配置里加一个探针定义然后在目标层级覆盖*** Probes *** FPing binary /usr/sbin/fping packetsize 100 count 10 interval 120 FPingHigh binary /usr/sbin/fping packetsize 100 count 30 interval 60 *** Targets *** probe FPing 内网服务器 probe FPingHigh host 192.168.1.10这里packetsize控制探测包大小字节count控制每轮发包数interval控制轮询间隔。FPingHigh这个探针给关键内网服务器用提高探测频率代价是网络开销和 RRD 文件体积变大。我一般给所有内网设备统一走高频外部目标走低频因为内网丢包对业务影响更大需要更敏感的反应。4.2 告警设置延迟超标时发送邮件smokeping 的告警机制不复杂核心是定义在*** Alerts ***区块里的告警规则然后在目标下挂上对应规则。以下配置实现“延迟超过 150ms 时告警”*** Alerts *** latency type avg pattern 150 comment 延迟超过 150ms *** Targets *** 网关 alerts latency host 192.168.1.1交付一个注意点邮件告警依赖系统sendmail或postfixCentOS 7 默认没装完整邮件服务只装了mailx。你需要额外配置发信文档建议用空回环方式先测通# 测试邮件发送 echo test | mail -s smokeping test yourexample.com如果邮件发不出去检查/etc/mail.rc里的配置常见做法是先在本机起一个 Postfix 再通过阿里云或腾讯云的 SMTP 服务转发。这一步最容易卡住因为 smokeping 进程本身不负责发邮件它只是调系统sendmail命令系统层的邮件配置和 smokeping 完全无关。5. 避坑与常见问题排查文档没写但你八成会遇到的四个大坑yum 装 smokeping 看似一路回车实际使用中翻车点集中在四个地方。我把它们按出现频率排序每条都写清现象、原因和解决路径。5.1 坑一启动后网页一直显示 loading图表不渲染现象systemctl status smokeping显示 active浏览器页面能打开框架但图表区域永远在转圈浏览器控制台报 500 或 403。原因Apache 进程权限不够读不到/var/lib/smokeping下的 RRD 文件或 CGI 脚本执行权限缺失。解决先看/var/log/httpd/error_log里的具体报错。如果是Permission denied执行上面提过的chown -R apache:apache /var/lib/smokeping如果是Exec format error说明.cgi脚本没被 Apache 当 CGI 执行编辑/etc/httpd/conf.d/smokeping.conf确认包含Options ExecCGI。# 安全方案确保 apache 对数据目录有完整读写权 chown -R apache:apache /var/lib/smokeping/ chmod -R 755 /var/lib/smokeping/ setsebool -P httpd_can_network_connect 1注意最后一行的 SELinux 布尔值CentOS 7 默认 Enforcing 模式下Apache 连接外部网络做数据写入会被拦截。这也是我见过最多人忽略的隐藏坑。5.2 坑二图出来了但数据全是空的现象网页上有坐标轴和空白格子或者显示No data字样RRD 文件也存在但内容大小是 0 或只有几字节。原因smokeping 主进程没有写入权限或者探测命令 fping 本身不可用。解决手动跑一条 fping 命令看输出/usr/sbin/fping -c 10 -p 1000 192.168.1.1如果返回fping: command not found说明 fping 未安装或路径不对用yum install -y fping装上。如果 fping 正常检查 smokeping 配置文件里binary字段写的路径是否正确以及/var/lib/smokeping目录属主是不是smokeping。提示RRD 文件大小长期不变大概率是 smokeping 进程根本没写库先systemctl restart smokeping再观察 5 分钟。5.3 坑三重启服务器后 smokeping 没起来现象服务器重启后网页打不开systemctl status smokeping显示 inactive 或 failed。原因服了蛇这是 CentOS 7 的 systemd 服务依赖问题。smokeping 服务声明了Afterhttpd.target但实际启动时 smokeping 先于网络就绪或 httpd 未完全就绪导致主进程初始化失败。解决给 smokeping 服务添加网络等待编辑/etc/systemd/system/smokeping.service.d/wait.conf加入以下内容[Unit] Afternetwork-online.target Wantsnetwork-online.target然后systemctl daemon-reload和systemctl restart smokeping。这个改动不复杂但很管用我之前的服务器每次重启必挂加上这个依赖后一次解决。5.4 坑四配置文件改动后 reload 报错服务直接崩溃现象改了/etc/smokeping/config后执行systemctl restart smokeping服务起不来查看状态是failed日志里一堆 Perl 栈信息。原因配置文件语法错误最常见是缩进不一致、字段名拼错、目标树里少了层级。解决把配置文件备份一份然后逐行比对。我的习惯是改完先跑smokeping --check它给出的行号和报错信息比 systemd 日志准确得多。如果语法检查通过但重启仍失败检查文件末尾有没有多余的空行或注释符。另外提一个真玄学问题配置文件里的中文注释或中文menu、title字段在某些 locale 环境下会导致 Perl 解析崩溃报Wide character in print。解决办法是避免在配置文件里写中文全部用英文代替网页界面的中文可以通过后续汉化包处理不建议一开始就在配置文件里埋雷。6. 验证安装效果与技巧逆推链路查问题让 smokeping 替你提前发现抖动整台服务跑顺以后我习惯做一次端到端验证不只是看网页能不能打开而是确认探测链路的每一环都是通的。这里分享一个我常用的排查手法逆推链路法。具体说就是从目标端反向查到 smokeping 本体。假设你在监控的远端服务器上执行tcpdump抓包能看到源 IP 是你 smokeping 服务器的 ICMP 包——这一步能在网络层面确认 smokeping 在认真发包。如果没有包到回看探针配置是不是选错了探针类型比如TCPProbe却用fping二进制。# 在 smokeping 服务器上实时确认探测包发出 tcpdump -n -i any icmp and host 192.168.1.1 -c 50参数说明-i any监听所有网卡-c 50抓 50 个包就停避免一直刷屏。如果输出里每一行都有icmp echo request往目标 IP 发说明 prober 工作正常如果看到大量icmp echo reply但网页显示丢包那问题在 smokeping 的统计处理环节而不是网络本身。再给一个实用技巧利用 smokeping 的日志反向定位问题。当网页上的图显示丢包率异常升高时先看/var/log/smokeping/smokeping.log它每轮都会记录每个目标的 ping 时间数值你会看到类似这行的记录2024-01-01 10:00:02 192.168.1.1 0.045 0.051 0.042这三个数值分别是最小、平均、最大延迟秒。如果平均延迟高于峰值说明网络在抖动而不是拥塞如果最小延迟都高那可能是链路的物理距离长或经过多次路由转发这个数据比看图更直观。最后说一个我的习惯每次配置完 smokeping我都会把smokeping --check和tcpdump 抓包这条路径强制走一遍确认配置合法加上真实数据在流动才算“安装完成”。从那以后我没再被“网页开了但没数据”这种假象骗过希望帮到你。本文还有配套的精品资源点击获取

相关新闻

实时语音播报系统实战:从事件触发到声音入耳的延迟优化

实时语音播报系统实战:从事件触发到声音入耳的延迟优化

做实时语音播报的日子里,我最常被问的一句话是:不就是让程序把文字念出来吗,有什么实时的?每次听到这话,我都想拉着问的人看一眼日志。同样是播报“您有新的订单”,有的系统能做到点击、触发后几百毫秒内就…

2026/10/16 22:06:25 阅读更多 →
Transformer掩码完全指南:Padding Mask与Look-Ahead Mask的实战原理

Transformer掩码完全指南:Padding Mask与Look-Ahead Mask的实战原理

你接触 Transformer 不久的话,十有八九会被“Mask(掩码)”这个概念绕晕。注意力分数要加 Mask、损失函数要加 Mask、位置编码要配合 Mask,看起来无处不在。但如果你愿意花半小时把它的来龙去脉捋清楚,会发现 Mask 其实…

2026/10/17 23:39:19 阅读更多 →
Vue中data函数设计原理与响应式实践指南

Vue中data函数设计原理与响应式实践指南

1. 这不是“写个data就能跑”的事:VUE中data数据对象的真实分量很多人刚学Vue时,看到官方文档里那句“data必须是一个函数,返回一个对象”,第一反应是:“哦,照抄模板就行”。等真正在项目里写了几十个组件、…

2026/10/18 13:10:00 阅读更多 →

最新新闻

AirLLM:单张显卡也能跑70B大模型的分层推理显存优化方案

AirLLM:单张显卡也能跑70B大模型的分层推理显存优化方案

1. AirLLM 到底是什么:一个把“大模型塞进小显存”的暴力优雅方案QLoRA、GPTQ、GGUF,这些名字想必大家都不陌生。这几年为了在消费级显卡上跑大模型,各路方案层出不穷,核心思路无非两种:量化压缩模型权重,或…

2026/10/18 16:45:42 阅读更多 →
Playnite 主题定制 10 分钟上手:把游戏库界面改成自己的样子

Playnite 主题定制 10 分钟上手:把游戏库界面改成自己的样子

Playnite 主题定制 10 分钟上手:把游戏库界面改成自己的样子 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址…

2026/10/18 16:45:42 阅读更多 →
AI教材生成全流程:低查重高质量编写实战指南

AI教材生成全流程:低查重高质量编写实战指南

最近一年我接了好几本教材编写的活儿,从高校专业课讲义到企业内训手册都有。绕不开的两件事:一是写不完的量,二是躲不掉的查重率。身边不少同行开始把AI教材生成工具纳入工作流,确实能把初稿周期从一两个月压缩到一两周&#xff0…

2026/10/18 16:45:42 阅读更多 →
视觉目标跟踪丢失后重定位:丢失检测与搜索策略工程实践

视觉目标跟踪丢失后重定位:丢失检测与搜索策略工程实践

1. 从“跟丢”说起:为什么重定位是视觉跟踪的必修课做过视觉目标跟踪的人都有一个共识:跟踪算法在视频前几十帧跑得再漂亮,都不算数,真正的考验出现在目标被遮挡、快速运动、出画再入画、或者画面剧烈抖动的那一刻。我见过太多Dem…

2026/10/18 16:45:42 阅读更多 →
PHP轻量级代理分销系统:三级分佣+订单穿透+自动结算

PHP轻量级代理分销系统:三级分佣+订单穿透+自动结算

简介:这是一套基于PHP开发的代理分销型商城系统源码,面向中小型电商创业者、PHP初中级开发者及二次开发学习者,解决多级代理管理、佣金自动结算与分销渠道拓展等核心运营需求。资源包为RAR格式,大小11.5MB,虽未提供具体…

2026/10/18 16:45:42 阅读更多 →
深度学习实战:食物分类从数据准备到部署完整指南

深度学习实战:食物分类从数据准备到部署完整指南

先说实话,做了几年图像分类的活儿,我越来越觉得“食物分类”这个题目被低估了。它不像猫狗识别那样简单到几轮就收敛封顶,也不像人名识别那样需要极其苛刻的数据条件。食材种类上百、同一种食材换个切法和熟度就完全变了样、摆盘和背景还在添…

2026/10/18 16:44:42 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →