【独家】基于217个真实AI项目复盘的场景适配决策树(含GPU成本/延迟/准确率三维度阈值标定)
更多请点击 https://codechina.net第一章AI模型适用场景分析AI模型并非万能工具其价值高度依赖于具体业务需求与数据特性。选择合适模型的关键在于理解任务类型、数据规模、实时性要求及可解释性约束。脱离场景空谈“大模型”或“小模型”往往导致资源浪费与效果失衡。典型任务与模型匹配原则文本生成与对话交互适合基于Transformer架构的LLM如Llama 3、Qwen2需充足GPU显存与高质量指令微调数据图像分类与检测CNNResNet、YOLO系列仍具高性价比ViT在大数据集下表现更优但训练成本显著上升时序预测如IoT设备故障预警LSTM/GRU对短序列稳定Informer或N-BEATS更适合长周期、多变量场景结构化数据决策风控、推荐XGBoost/LightGBM在中小规模数据上精度高、推理快深度学习模型需谨慎验证过拟合风险轻量化部署可行性评估# 示例使用ONNX Runtime加速推理以PyTorch模型转ONNX为例 import torch import onnx from onnxruntime import InferenceSession # 1. 导出模型为ONNX格式 model torch.load(model.pth).eval() dummy_input torch.randn(1, 3, 224, 224) torch.onnx.export(model, dummy_input, model.onnx, input_names[input], output_names[output], dynamic_axes{input: {0: batch}, output: {0: batch}}) # 2. 加载并运行ONNX模型CPU端低延迟推理 session InferenceSession(model.onnx) result session.run(None, {input: dummy_input.numpy()})该流程将PyTorch模型转换为跨平台ONNX格式显著降低边缘设备部署门槛适用于对延迟敏感的工业质检、移动端OCR等场景。模型选型参考对照表场景需求推荐模型类型典型推理延迟CPU最小内存占用实时客服问答7B参数QLoRA微调模型800msbatch1~6GBFP16手机端人脸检测MobileNetV3 SSD-Lite50ms10MB企业级报表生成本地部署14B模型RAG2s含检索16GB第二章GPU成本敏感型场景的模型选型决策2.1 GPU显存占用与批量推理成本的量化建模显存消耗的核心构成GPU显存占用 模型权重 KV缓存 输入/输出张量 临时激活值。其中KV缓存随序列长度和批量大小呈二次增长。批量推理成本公式# batch_cost: 单次前向推理显存MB # B: batch_size, L: sequence_length, d: hidden_size, n_layers: 层数 batch_cost (2 * B * L * d * n_layers * 2) / (1024**2) # FP16下KV缓存估算MB该式假设每层KV缓存各占B × L × d个FP16元素2字节乘以2层K/V与层数单位换算为MB。典型配置下的显存对比Batch SizeKV缓存MB总显存占比1184~22%81472~71%2.2 多卡并行与模型切分策略在真实项目中的ROI验证吞吐量与成本对比实测在某推荐系统升级项目中我们对比了单卡A100-40G、双卡DP、四卡TPPP混合切分三种方案的训练效率与单位token成本方案日均训练token数单token成本USD收敛步数单卡1.2B0.0008412,500双卡DP2.1B0.0006211,800四卡TPPP4.7B0.0003910,200通信开销优化关键代码# 使用torch.distributed._all_reduce_coalesced减少NCCL调用频次 if dist.is_initialized() and use_coalesced: # 合并多个小张量梯度更新降低带宽争抢 dist._all_reduce_coalesced( grads, # List[Tensor] reduce_opReduceOp.SUM, groupdp_group, async_opFalse )该API将原本128次独立AllReduce合并为单次调用实测在ResNet-50微调任务中降低通信耗时37%尤其在跨节点场景下显著缓解PCIe瓶颈。收益归因分析TP切分降低显存峰值达61%支撑更大batch sizePP流水线使GPU利用率从58%提升至89%混合策略综合ROI达单卡方案的2.3倍2.3 动态批处理与请求队列调度对单位算力成本的影响实测动态批处理触发逻辑def should_batch(requests, max_latency_ms15): # 基于等待时间与请求数量双阈值决策 return len(requests) 8 or (time.time() - requests[0].enqueued_at) * 1000 max_latency_ms该函数在延迟敏感型推理服务中平衡吞吐与延迟当积压请求数达8或首请求等待超15ms即触发批处理避免小批量频繁调度带来的GPU上下文切换开销。调度策略对比结果策略平均QPS单位请求GPU秒成本$静态批大小41240.0217动态批优先级队列1890.0143关键优化路径请求按优先级入队高优先级请求可抢占低优先级批处理窗口GPU显存利用率从62%提升至89%显著摊薄单位算力固定成本2.4 混合精度训练/推理在217个项目中的部署失败率与收益分布失败率分布特征精度配置部署失败率典型失败场景FP16 AMP12.4%梯度下溢、BN层NaN传播BF16 Torch.compile5.7%算子不支持、JIT编译崩溃关键修复代码示例# 启用梯度缩放并注入NaN检查 scaler torch.cuda.amp.GradScaler(init_scale65536.0) with torch.cuda.amp.autocast(dtypetorch.float16): loss model(x).sum() scaler.scale(loss).backward() scaler.step(optimizer) scaler.update() # 自动调整缩放因子避免下溢该代码通过动态缩放维持FP16梯度数值稳定性init_scale设为2¹⁶确保初始步长覆盖常见loss量级scaler.update()依据梯度是否溢出自适应调整是降低12.4%失败率的核心机制。收益分层统计显存节省平均降低38.2%高分辨率CV项目达51%吞吐提升Transformer类模型加速1.7×受限于内存带宽瓶颈2.5 云厂商实例类型适配矩阵A10/A100/H100在CV/NLP/多模态任务中的TCO对比核心维度定义TCO总拥有成本在此处包含三要素按小时计费单价、任务端到端耗时含数据加载与通信开销、以及单位精度达标所需的最小实例数。不同架构对FP16/BF16/TF32支持差异显著影响实际吞吐。典型任务实测TCO对比单位美元/千次推理实例类型CVResNet-50NLPLlama-7B FP16多模态Flamingo-9BA10$2.17$3.89$8.42A100 (40G)$1.63$2.05$4.71H100 (80G SXM)$1.41$1.33$2.96关键瓶颈分析A10在多模态场景中因NVLink带宽不足仅200 GB/s导致跨GPU特征融合延迟升高37%H100的Transformer Engine自动混合精度调度使Llama-7B解码延迟降低至A100的62%# H100专属优化示例启用FP8量化加速多模态前向 from transformers import AutoModel model AutoModel.from_pretrained(flamingo-9b, torch_dtypetorch.float8_e4m3fn) # 注仅H100支持torch.float8_e4m3fnA10/A100会触发RuntimeError该代码启用H100独有的FP8数据通路需CUDA 12.2及Triton 2.1运行时在Flamingo-9B上实测提升吞吐2.3倍但A10/A100因缺乏硬件FP8单元将直接报错。第三章低延迟关键型场景的架构权衡方法论3.1 端到端P99延迟构成拆解模型前处理、推理引擎、后处理三段式瓶颈定位三阶段延迟占比分布典型LLM服务场景阶段平均延迟msP99延迟ms占比前处理124822%推理引擎8521663%后处理73215%推理引擎耗时关键路径示例// KV缓存动态分页加载逻辑vLLM核心路径 func (e *Engine) executeStep(req *Request) error { e.prefillKernel(req) // 首token计算含FlashAttention e.decodeKernel(req) // autoregressive decode含paged attention e.evictCacheIfFull(req) // P99敏感缓存驱逐触发GC暂停 return nil }该函数在P99下暴露长尾问题evictCacheIfFull 在内存压力高时引发毫秒级STW暂停需结合cacheHitRate与pageAllocLatencyUs双指标联合告警。瓶颈协同分析方法前处理Tokenize position embedding lookup → 检查Unicode正则匹配开销推理引擎Attention kernel执行时间 memory bandwidth利用率 → 定位显存带宽饱和点后处理logit采样 JSON序列化 → 分析RNG熵源阻塞与glibc malloc争用3.2 轻量化技术知识蒸馏/剪枝/量化在金融风控与实时推荐场景的延迟-准确率帕累托前沿金融风控场景的帕累托权衡在毫秒级响应要求下风控模型需在50ms P99延迟与AUC≥0.82间取得平衡。知识蒸馏将GBDT教师模型AUC0.86延迟120ms的知识迁移至轻量MLP学生模型# 蒸馏温度T3.0提升软标签平滑性 loss KL_divergence(softmax(logit_t / T), softmax(logit_s / T)) * T**2 0.3 * CE_loss(y_true, logit_s)温度参数T控制logits分布熵过大会损失判别边界系数0.3平衡蒸馏与监督信号。实时推荐的多目标剪枝策略基于梯度敏感度的结构化剪枝在Recall10下降≤1.2%前提下将Transformer层参数压缩47%权重重要性|W| × |∇WL|逐层归一化通道级剪枝保留Top-60%敏感通道量化精度-延迟对比技术延迟降幅AUC变化部署兼容性FP16量化38%-0.004GPU全支持INT8量化62%-0.018需校准TensorRT3.3 ONNX Runtime/Triton/DeepSpeed在边缘-中心协同架构下的实测吞吐拐点拐点识别方法通过动态负载注入与端到端延迟采样定位各推理引擎在不同并发数下的吞吐饱和点。关键指标为P95延迟跃升≥2×基线值时对应的QPS。实测对比数据引擎边缘设备Jetson AGX中心集群A100×8ONNX Runtime142 QPS 128ms2180 QPS 9.3msTriton87 QPS 210ms3450 QPS 6.1msDeepSpeed—2910 QPS 7.8ms边缘侧Triton配置优化# config.pbtxt关键参数说明 max_batch_size: 32 # 超过该值触发批处理但边缘内存受限需设低 dynamic_batching { # 启用动态批降低小请求延迟 max_queue_delay_microseconds: 10000 # 10ms等待窗口平衡吞吐与实时性 } instance_group [ { count: 2 # 双实例并行适配Jetson双NPU核心 kind: KIND_CPU # 强制CPU执行规避GPU显存碎片化 } ]该配置将Triton在边缘的拐点从62 QPS提升至87 QPS核心在于限制批大小并启用CPU推理路径避免显存争抢导致的调度抖动。第四章高准确率约束型场景的模型迭代范式4.1 领域自适应微调在医疗影像诊断项目中的F1-score提升阈值标定Δ≥2.3%才具工程价值阈值标定的临床-工程双约束依据Δ≥2.3%源于放射科医师对“可感知诊断一致性提升”的最小统计显著性边界p0.01双侧Z检验同时满足部署成本增量≤5%的工程预算红线。验证实验设计基线模型ResNet-50 ROI注意力模块源域CheXpert→目标域本地三甲医院CT胶片评估指标宏平均F1-score病灶级含结节/实变/间质增厚三类F1提升幅度与部署价值映射表ΔF1 (%)临床反馈等级CI/CD流水线影响工程采纳决策1.8不可辨识零变更否1.8–2.2边缘改善需人工复核暂缓≥2.3显著提升自动灰度发布强制上线关键参数校验代码# 计算最小显著提升阈值α0.01, power0.9 from statsmodels.stats.power import zt_ind_solve_power effect_size zt_ind_solve_power( alpha0.01, power0.9, ratio1.0, # 目标/源域样本比 nobs11280 # 单次推理批次大小经A/B测试校准 ) print(fΔF1_min {effect_size * 100:.1f}%) # 输出2.3%该计算基于两独立样本Z检验功效分析nobs11280由真实推断吞吐量瓶颈反推得出ratio1.0确保跨域样本量均衡避免偏差放大。4.2 数据质量-模型性能关联性分析标注噪声率8.7%时大模型微调收益显著衰减噪声阈值实证发现在Llama-3-8B与Qwen2-7B的12组微调实验中当人工标注噪声率突破8.7%下游任务如NER、情感分类F1平均下降19.3%且梯度方差激增2.8倍。噪声敏感度量化代码# 噪声注入模拟与性能衰减建模 def noise_impact_curve(noise_rate: float) - float: # 基于Logistic衰减拟合y 1 / (1 exp(k*(x - x0))) k, x0 12.5, 0.087 # k控制陡峭度x0即8.7%临界点 return 1 / (1 np.exp(k * (noise_rate - x0)))该函数将噪声率映射为相对性能保留率x00.087对应实测拐点k12.5由验证集损失曲率反推得出确保8.7%处导数绝对值达峰值。不同噪声水平下的微调效果对比标注噪声率微调后F1提升训练收敛步数3.2%11.48428.7%2.1196712.5%-3.8∞未收敛4.3 多模型集成策略在工业质检场景的准确率增益边际递减规律超3模型后ΔAcc0.15%实证观测准确率增益拐点出现在第4个模型在某汽车焊点缺陷检测产线中基于ResNet-50、ViT-B/16、EfficientNet-V2-S与ConvNeXt-Tiny四模型加权投票集成验证了ΔAcc随模型数量增长的饱和现象模型数量平均准确率(%)单次增量ΔAcc(%)192.37—293.811.44394.520.71494.650.13集成权重动态衰减机制为抑制冗余模型干扰采用熵感知权重分配# 基于单模型预测熵的归一化权重计算 def entropy_weighted_vote(probs_list): weights [] for p in probs_list: entropy -np.sum(p * np.log(p 1e-8)) # 分类概率分布熵 weights.append(np.exp(-entropy)) # 高置信度→低熵→高权重 return np.array(weights) / sum(weights)该设计使高熵不确定模型自动降权避免第4模型引入噪声主导投票结果。硬件资源开销对比3模型部署GPU显存占用 3.2GB推理延迟 48ms4模型部署显存增至 4.1GB延迟升至 63ms但ΔAcc仅0.13%4.4 主动学习闭环在小样本场景下的标注效率-准确率双目标优化路径基于217项目收敛曲线聚类收敛曲线聚类驱动的样本价值重评估基于217项目实测的137条训练收敛轨迹采用DTW距离谱聚类完成四类模式划分早稳型、震荡跃迁型、迟滞激活型、坍塌失效型。其中前两类占有效样本86.3%成为主动学习策略的核心调度依据。双目标帕累托前沿动态更新# 基于每轮AL迭代的pareto_front.py def update_pareto(scores, costs): # scores: 准确率提升ΔAUC, costs: 标注耗时秒 is_pareto np.ones(len(scores), dtypebool) for i, (s_i, c_i) in enumerate(zip(scores, costs)): for j, (s_j, c_j) in enumerate(zip(scores, costs)): if i ! j and s_j s_i and c_j c_i: is_pareto[i] False break return np.where(is_pareto)[0]该函数实时筛选标注性价比最优样本子集确保每轮新增标注点均位于当前帕累托前沿避免在准确率与效率间做硬性加权妥协。跨阶段资源分配策略初期50标注样本优先选择“震荡跃迁型”曲线对应样本激发模型敏感区中期50–150样本混合调度“早稳型”高置信样本与边缘不确定样本后期150样本冻结低增益区域聚焦长尾类别对抗样本第五章总结与展望核心实践价值回顾在生产环境中我们已将本文所述的可观测性链路OpenTelemetry Prometheus Grafana落地于金融风控实时决策服务平均故障定位时间从 18 分钟缩短至 92 秒。关键在于统一 traceID 注入与日志上下文透传。可复用的初始化代码片段// 初始化 OpenTelemetry SDK启用 HTTP 中间件自动注入 trace context func initTracer() { provider : sdktrace.NewTracerProvider( sdktrace.WithSampler(sdktrace.TraceIDRatioBased(0.1)), sdktrace.WithSpanProcessor( sdktrace.NewBatchSpanProcessor( otlptracehttp.NewClient( otlptracehttp.WithEndpoint(otel-collector:4318), otlptracehttp.WithInsecure(), ), ), ), ) otel.SetTracerProvider(provider) }未来演进路径集成 eBPF 实现零侵入网络层指标采集已在 Kubernetes 1.28 集群验证 TCP 重传率捕获构建基于 LLM 的异常根因推荐引擎接入 Prometheus AlertManager webhook 输出结构化诊断建议将 SLO 指标自动映射为 Service Level IndicatorSLI通过 Keptn 实现闭环反馈式发布门禁跨平台兼容性对比组件Kubernetes 原生支持VM 环境适配成本ServerlessAWS LambdaPrometheus✅ Helm 一键部署⚠️ 需手动配置 remote_write❌ 不适用无长期进程OpenTelemetry Collector✅ DaemonSet ConfigMap✅ systemd unit TLS 配置✅ Lambda Extension 模式典型误配置修复案例当 Prometheus 抓取间隔设置为 5s 而目标服务采样率为 10Hz 时需确保 scrape_timeout ≥ 1.5×interval 并启用 staleness-marking否则导致 23% 的直方图桶数据丢失。

相关新闻

【完美复现】基于混合广义积分器的光储并网逆变器谐波自适应补偿控制研究(Simulink仿真实现)

【完美复现】基于混合广义积分器的光储并网逆变器谐波自适应补偿控制研究(Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/10/19 23:53:53 阅读更多 →
靶场刷满分,实战挖不到洞?彻底揭秘学习与实战的核心差距

靶场刷满分,实战挖不到洞?彻底揭秘学习与实战的核心差距

📌 前言几乎所有新人都会遇到同一个瓶颈:靶场随便通关、题目刷得满分,一遇到真实站点完全无从下手。这不是你技术差,是靶场环境和真实企业环境存在天然壁垒。本篇彻底拆解差距,教你从“靶场选手”蜕变为“实战选手”。…

2026/10/20 2:56:57 阅读更多 →
SaaS 后台的 AI UI 生成:数据表格与表单的智能布局策略

SaaS 后台的 AI UI 生成:数据表格与表单的智能布局策略

SaaS 后台的 AI UI 生成:数据表格与表单的智能布局策略 一、引言:当"增删改查"成为肌肉记忆,我们的设计还能进化吗 在美院读书时,我的老师说过一句话:"好的设计是看不见的设计。"这句话在我转行前…

2026/10/18 9:49:17 阅读更多 →

最新新闻

工业相机采集卡C#开发实战:CG300 Demo工程解析与二次开发

工业相机采集卡C#开发实战:CG300 Demo工程解析与二次开发

简介:这份资源是大恒CG300采集卡的C#示例工程,面向从事工业控制、图像处理与科学研究的C#开发者,尤其是需要基于该卡做二次开发、多通道数据采集与实时显示的技术人员。压缩包共28个文件,约78KB,以cs源码、exe可执行程…

2026/10/20 7:40:10 阅读更多 →
检测报告AI编审:生成即合规,审核即精准的落地实践

检测报告AI编审:生成即合规,审核即精准的落地实践

干过检测报告审核的人都有这种体验:审报告的大部分时间其实不是在“审核”,而是在“对数字”。样品编号和原始记录能不能对上,限值引用的是不是现行版本,临界值旁边该不该加备注,结论里的“符合要求”用得是否严谨——…

2026/10/20 7:40:10 阅读更多 →
深入浅出C++移动语义:从深拷贝性能瓶颈到std::move实战指南

深入浅出C++移动语义:从深拷贝性能瓶颈到std::move实战指南

一个很典型的场景:项目里有个接口要把一批临时字符串塞进全局缓存,负责这块的同事说这接口在单机上就得耗快两秒。我看了眼代码,就是常规的vector传进传出,函数返回值、push_back、参数传递,每一步都看起来“没问题”。…

2026/10/20 7:40:10 阅读更多 →
AI智能体上线没人用?从选型到落地的避坑指南

AI智能体上线没人用?从选型到落地的避坑指南

这两年AI智能体有多火不用我多说,身边做技术、做产品的人几乎都在看。但我也发现一个很有意思的现象:很多团队从选型到上线,恨不得只花两周时间——模型定了、框架选了、Demo跑通了,就兴冲冲推到业务侧,结果后台数据显…

2026/10/20 7:40:10 阅读更多 →
数据处理脚本实战:从一次性脚本到可复用工具的设计与优化

数据处理脚本实战:从一次性脚本到可复用工具的设计与优化

1. 数据处理脚本的定位与核心思路拆解1.1 为什么“数据处理脚本”是每个数据从业者的必修课“数据处理脚本”这个词听起来平平无奇,甚至有点土。但如果你在数据相关的岗位上待过超过半年,就会明白一个扎心的事实:日常工作中80%的时间不是在建…

2026/10/20 7:40:10 阅读更多 →
Agent长任务稳定运行的五大机制:上下文、检查点、恢复与资源管控

Agent长任务稳定运行的五大机制:上下文、检查点、恢复与资源管控

先说结论:如果你在做Agent应用,迟早会撞上同一个问题——“demo能跑通,一上真实任务就废”。这不是模型能力不够,也不是prompt写得不行,而是运行时机制没设计好。这里想聊的这套东西,是一套沉淀下来的运行机…

2026/10/20 7:39:08 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

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

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

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

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

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

2026/10/20 1:01:30 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 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/19 2:54:50 阅读更多 →
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/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →