GluonCV 损失函数模块 gluoncv.loss 详解:FocalLoss、SSDMultiBoxLoss 与检测/分割/跟踪损失实战
计算机视觉深度学习预训练【免费下载链接】gluon-cvGluon CV Toolkit项目地址https://gitcode.com/gh_mirrors/gl/gluon-cv点击查看免费下载本文围绕 GluonCV 的官方 API 文档页docs/api/loss.rst展开,系统讲解gluoncv.loss模块中全部自定义损失函数的参数、计算公式与源码实现,并结合仓库中 SSD、YOLO、CenterNet、ICNet、SiamRPN 等真实训练脚本的调用方式,帮助读者在实际视觉任务训练时正确选择与配置损失函数。模块总览:gluoncv.loss 是什么docs/api/loss.rst是 GluonCV 的 loss API 参考页。该页通过 Sphinx 的automodule指令渲染 gluoncv/loss.py 整个模块的成员,并在页首用autosummary特别列出FocalLoss与SSDMultiBoxLoss两个核心损失。模块文档字符串说明了其设计定位:Losses are subclasses ofgluon.loss.Losswhich is a HybridBlock actually.即:这些损失函数本质上是继承自 MXNet GluonLoss/HybridBlock的可混合(hybridize)模块,可以像普通网络层一样参与net.hybridize(),这也是它们在多设备训练脚本中能以列表形式跨设备批量计算的原因。当前仓库版本为0.11.0(见 gluoncv/init.py),模块中通过__all__导出以下损失:损失类典型任务FocalLoss类别不均衡的二分类/多标签分类SSDMultiBoxLossSSD 目标检测YOLOV3LossYOLOv3 目标检测SoftmaxCrossEntropyLoss语义分割(带 ignore 标签)SegmentationMultiLossesDAFUNet 等多头分割MixSoftmaxCrossEntropyLoss带辅助输出/Mixup 的分割(FCN、PS 等)ICNetLossICNet 三尺度级联分割SoftmaxCrossEntropyOHEMLoss/MixSoftmaxCrossEntropyOHEMLoss带 OHEM 的分割DistillationSoftmaxCrossEntropyLoss知识蒸馏训练HeatmapFocalLossCenterNet 关键点/中心点热图MaskedL1LossCenterNet 宽高/中心回归SiamRPNLossSiamRPN 视觉跟踪导入方式统一为import gluoncv as gcv后使用gcv.loss.损失名,或from gluoncv.loss import SiamRPNLoss。注意该模块依赖 MXNet 后端,而 PyTorch 生态下的对应损失(如HMFocalLoss)位于gluoncv/torch/子包中,不在本文范围。FocalLoss:应对类别不均衡的分类损失FocalLoss是文档页autosummary中首先列出的损失,实现位于 gluoncv/loss.py。其思想来自 RetinaNet 论文(Focal Loss for Dense Object Detection, arXiv:1708.02002):通过降低易分类负样本的权重,让网络聚焦于难样本。参数说明源码 docstring 定义的完整参数如下:参数默认值说明axis-1计算 softmax/熵时求和的轴,即类别维度alpha0.25控制正负样本平衡的系数 αgamma2控制难样本聚焦程度的指数 γsparse_labelTrue标签是否为整数索引(而非概率分布)from_logitsFalse输入是否已经是 log 概率(通常来自 log_softmax)batch_axis0表示 mini-batch 的轴weightNone损失的全局标量权重num_classNone类别数;当sparse_labelTrue时必填eps1e-12防止对数数值问题的极小值size_averageTrue是否对除batch_axis外的所有维求均值构造时有一个硬性校验(见 gluoncv/loss.py):若sparse_labelTrue而未提供num_class 1的整数,会直接抛出ValueError。实现细节hybrid_forward的前向逻辑(见 gluoncv/loss.py)可以逐行对应到公式:若from_logitsFalse,先对pred做 sigmoid,得到每个类别的概率;稀疏标签先经one_hot展开,稠密标签则用label 0得到正类掩码;计算pt where(one_hot, pred, 1 - pred),即预测值在真实类别方向的概率;计算alpha_t where(one_hot, alpha, 1 - alpha);损失主体:loss -alpha_t * (1 - pt)^gamma * log(min(pt eps, 1));经_apply_weighting应用全局权重与逐元素sample_weight后,沿batch_axis以外的维度求均值,输出形状为(batch_size,)。使用示例:import gluoncv as gcv import mxnet as mx import mxnet.ndarray as nd # pred: (N, C) 的 logits,label: (N,) 的整数索引 focal gcv.loss.FocalLoss(num_class10, alpha0.25, gamma2.0) pred mx.gluon.nn.Conv2D(10, 1)(nd.random_normal((4, 3, 32, 32))) label nd.array([0, 3, 7, 9]) loss focal(pred, label)SSDMultiBoxLoss:SSD 检测的损失与负样本挖掘SSDMultiBoxLoss是文档页autosummary中列出的第二个损失,实现位于 gluoncv/loss.py。与FocalLoss不同,它继承自gluon.Block而非Loss,因为它的输入是列表(每个设备一个张量),需要跨设备归一化。参数说明参数默认值说明negative_mining_ratio3负样本与正样本的数量比(负样本挖掘比例)rho1.0L1-L2 平滑过渡阈值,即平滑参数lambd1.0分类与回归损失的相对权重,总损失为L loss_class lambda * loss_locmin_hard_negatives0每张图片至少保留的困难负样本数docstring 中特别提示:由于需要跨设备同步计算 batch 级统计量,该损失比非同步版本开销略大,但作者发现这样对收敛后的模型精度更友好。计算流程(对应源码)结合 gluoncv/loss.py 的实现,前向分为几步:统计全局正样本数:pos_samples (cls_target 0),把所有设备上的正样本数求和得到num_pos_all。若num_pos_all 1且min_hard_negatives 1,返回一组零梯度占位损失(cp * 0),保证反向传播图连通但不贡献梯度;分类损失与负样本挖掘:先对cls_pred做log_softmax,用-nd.pick(pred, cls_target)取出真实类(含背景 0 类)的对数似然作为逐 anchor 交叉熵;随后用双次argsort的技巧计算每个位置在按损失降序中的排名,取rank max(min_hard_negatives, 正样本数 * negative_mining_ratio)的位置作为困难负样本。只有正样本 ∪ 困难负样本参与损失,其余位置置零,最后除以max(1, num_pos_all)归一化;边界回归损失(L1-L2 平滑):对正样本计算box_loss |bp - bt|,再按|d| rho ? |d| - rho/2 : (0.5/rho) * d²做 L1→L2 平滑,并只在正样本位置生效,同样除以全局正样本数;合成总损失:sum_loss cls_loss lambd * box_loss。返回值是三元组(sum_losses, cls_losses, box_losses),每个都是每设备一个标量的列表。在训练脚本中的真实用法scripts/detection/ssd/train_ssd.py 展示了标准用法:mbox_loss gcv.loss.SSDMultiBoxLoss() ... with autograd.record(): cls_preds [] box_preds [] for x in data: # 每个设备一张切片 cls_pred, box_pred, _ net(x) cls_preds.append(cls_pred) box_preds.append(box_pred) sum_loss, cls_loss, box_loss mbox_loss( cls_preds, box_preds, cls_targets, box_targets) autograd.backward(sum_loss) ... trainer.step(1) # 损失已按 num_pos 归一化,故 step 传 1 避免再除 batch注意最后trainer.step(1)的注释:由于损失内部已按正样本数归一化,step时不再除以 batch size,这是多设备训练时的一个关键细节。YOLOV3Loss:YOLOv3 的四项损失YOLOV3Loss实现位于 gluoncv/loss.py,用于 YOLOv3 训练。它接收 10 个输入:objness(B, N):预测的物体性(0,1);box_centers(B, N, 2)、box_scales(B, N, 2):预测框中心与宽高;cls_preds(B, N, num_class):类别预测;对应的目标张量objness_t、center_t、scale_t、class_t,其中objness_t中 0 表示负样本、1 表示正样本、-1 表示忽略;weight_t(B, N, 2):中心与尺度目标的损失乘子;class_mask(B, N, num_class):0/1 掩码,用于屏蔽被忽略的样本。内部维护两个基础损失:SigmoidBinaryCrossEntropyLoss(from_sigmoidFalse)与L1Loss。返回四项损失(均为总和):obj_loss:物体性 logistic 损失,通过hard_objness_t where(objness_t 0, 1, objness_t)把正样本目标强制为 1,并用where(objness_t 0, objness_t, objness_t 0)生成掩码使 -1 的忽略区不参与计算;center_loss:中心点 logistic 回归损失,乘子为weight_t * objness_t;scale_loss:尺度 L1 损失;cls_loss:逐类别 logistic 损失,class_mask与objness_t相乘后屏蔽忽略区。归一化因子denorm是目标张量除 batch 维外所有维度的乘积,中心与尺度损失额外乘 2(因为各有 2 个分量)。该损失在模型侧被封装:gluoncv/model_zoo/yolo/yolo3.py 中YOLOv3Net持有self._loss YOLOV3Loss(),训练时直接由网络前向输出四项损失。分割损失家族:以 SoftmaxCrossEntropyLoss 为基类gluoncv.loss中语义分割相关损失构成一个继承家族,全部围绕支持 ignore 标签的 Softmax 交叉熵构建,这正是分割任务与分类任务的关键差异——预测图上存在无效像素(边界、遮挡),必须被排除在损失之外。SoftmaxCrossEntropyLoss(带 ignore 标签)实现位于 gluoncv/loss.py。相比 MXNet 原生的gluon.loss.SoftmaxCrossEntropyLoss,它增加:参数默认值说明ignore_label-1需要忽略的标签值size_averageTrue是否按有效像素数重新归一化(normalizationvalid)前向调用 MXNet 的SoftmaxOutput算子,use_ignoreTrue并传入ignore_label;稀疏标签用pick取真实类概率,稠密标签则做-sum(log(softmaxout) * label);最后把ignore_label位置的损失显式置零,并沿batch_axis求均值。SegmentationMultiLosses:多头直接相加SegmentationMultiLosses(见 gluoncv/loss.py)继承上者,接收(pred1, pred2, pred3, label)四个输入,对三个预测头分别计算交叉熵后直接求和,即loss loss1 loss2 loss3。它在 scripts/segmentation/train.py 中用于 DAFUNet(danet in args.model)这类带多个预测分支的模型。MixSoftmaxCrossEntropyLoss:辅助损失与 MixupMixSoftmaxCrossEntropyLoss(见 gluoncv/loss.py)是分割训练中最常用的损失,新增参数:参数默认值说明auxTrue是否启用辅助输出损失mixupFalse是否启用 Mixup 损失aux_weight0.2辅助损失的权重其hybrid_forward按aux/mixup组合分派到四条路径:普通模式:基类交叉熵;辅助模式_aux_forward:主输出与辅助输出各算一次交叉熵,返回loss1 aux_weight * loss2;Mixup 模式_mixup_forward:输入(pred, label1, label2, lam),损失按lam * loss(label1) (1 - lam) * loss(label2)加权,兼容稀疏/稠密标签;辅助 Mixup 模式_aux_mixup_forward:两个输出头分别做 Mixup 加权,再按aux_weight合成。scripts/segmentation/train.py 展示了按模型选择损失的完整逻辑:# create criterion if icnet in args.model: criterion ICNetLoss(crop_sizeargs.crop_size) elif danet in args.model or (args.model_zoo and danet in args.model_zoo): criterion SegmentationMultiLosses() else: criterion MixSoftmaxCrossEntropyLoss(args.aux, aux_weightargs.aux_weight)分类侧也复用了这个类:scripts/classification/imagenet/train_imagenet_nasnet.py 中 NASNet 训练用MixSoftmaxCrossEntropyLoss(aux_weight0.4),开启sparse_labelFalse分支来配合稠密化(如 label smoothing)后的软标签。ICNetLoss:三尺度级联加权ICNetLoss(见 gluoncv/loss.py)专用于 ICNet 训练:参数默认值说明weights(0.4, 0.4, 1.0)级联标签引导的权重height/width取crop_size各尺度预测上采样的目标尺寸crop_size480默认裁剪尺寸前向接收 5 个输入:三个尺度的预测pred1~pred3加label。每个预测先经BilinearResize2D统一到height × width,再分别算交叉熵,最终合成:loss loss1 0.4 * loss2 0.4 * loss3 1.0 * loss4即在代码中写作loss[0] weights[0] * loss[1] weights[1] * loss[2] weights[2] * loss[3]。OHEM 变体:SoftmaxCrossEntropyOHEMLossSoftmaxCrossEntropyOHEMLoss(见 gluoncv/loss.py)把基类替换为 OHEM(Online Hard Example Mining)版本:底层调用F.contrib.SoftmaxOHEMOutput,固定thresh0.6, min_keep256,即只保留预测置信度低于 0.6 的最难像素(且至少保留 256 个),使网络在训练后期更关注难样本。MixSoftmaxCrossEntropyOHEMLoss(见 gluoncv/loss.py)在其上加了与前面同构的aux/aux_weight辅助输出支持。DistillationSoftmaxCrossEntropyLoss:知识蒸馏训练DistillationSoftmaxCrossEntropyLoss(见 gluoncv/loss.py)用于教师-学生蒸馏,参数:参数默认值说明temperature1软化教师预测的温度 Thard_weight0.5one-hot 硬标签损失的权重sparse_labelTrueone-hot 标签是否稀疏内部持有两个原生SoftmaxCrossEntropyLoss(soft_loss用软标签、hard_loss用硬标签),前向hybrid_forward(F, output, label, soft_target)按权重分派:hard_weight 0:纯软标签损失T² * CE(output / T, soft_target)(平方温度因子用于补偿梯度缩放);hard_weight 1:纯硬标签损失CE(output, label);一般情形:(1 - hard_weight) * T² * CE(output/T, soft_target) hard_weight * CE(output, label)。scripts/classification/imagenet/train_imagenet.py 给出了真实调用:sparse_label_loss not (opt.label_smoothing or opt.mixup) if distillation: L gcv.loss.DistillationSoftmaxCrossEntropyLoss(temperatureopt.temperature, hard_weightopt.hard_weight, sparse_labelsparse_label_loss) else: L gluon.loss.SoftmaxCrossEntropyLoss(sparse_labelsparse_label_loss)可见一个值得注意的约定:当使用 label smoothing 或 mixup 时,标签已经是稠密概率,因此sparse_label置为False。同样的写法也出现在 scripts/classification/imagenet/train_horovod.py 和 AutoGluon 风格的分类估计器 gluoncv/auto/estimators/image_classification/image_classification.py。HeatmapFocalLoss 与 MaskedL1Loss:CenterNet 的关键点损失这两个损失服务于 CenterNet,在 scripts/detection/center_net/train_center_net.py 中成组出现:heatmap_loss gcv.loss.HeatmapFocalLoss(from_logitsTrue) wh_loss gcv.loss.MaskedL1Loss(weightargs.wh_weight) center_reg_loss gcv.loss.MaskedL1Loss(weightargs.center_reg_weight)HeatmapFocalLoss(见 gluoncv/loss.py)是面向热图的 focal loss:正样本(label 1):pos_loss log(pred) * (1 - pred)^2;负样本(label 1):neg_loss log(1 - pred) * pred^2 * (1 - label)^4,其中(1 - label)^4让离关键点越远的负样本权重越低;最终按正样本数归一化:-(sum(pos_loss) sum(neg_loss)) / max(num_pos, 1)。注意其from_logitsTrue的用法:CenterNet 网络输出的热图已经过 sigmoid,因此传入的是概率而非 logits。MaskedL1Loss(见 gluoncv/loss.py)计算带掩码的均值绝对误差:L sum(|label * mask - pred * mask|) / max(sum(mask), 1)pred、label、mask任意形状但元素数须一致,最终按 mask 中非零元素数归一化,支持逐元素sample_weight。它在 CenterNet 中分别承担宽高回归(wh_weight)与中心点回归(center_reg_weight)的损失。仓库的 Auto 模块也复用了同样的组合,见 gluoncv/auto/estimators/center_net/center_net.py。SiamRPNLoss:视觉跟踪的加权 L1 交叉熵SiamRPNLoss(见 gluoncv/loss.py)是 SiamRPN 跟踪算法的专用损失,结构上有几个值得注意的固定常量:锚点网格self.h self.w 17(17×17 个锚点)、位置通道数loc_c 10(5 个锚框 × 2)、分类通道数cls_c 5。构造参数只有一个batch_size(默认 128,每设备训练 batch size),用于归一化。前向hybrid_forward(F, cls_pred, loc_pred, label_cls, pos_index, neg_index, label_loc, label_loc_weight)返回(cls_loss, loc_loss):位置损失weight_l1_loss:把预测 reshape 为(B, 4, -1, 17, 17),对 4 个回归维求和后逐位置乘label_loc_weight,按 batch 取均值;分类损失cross_entropy_loss:把类别预测重组为(N, 2)的二分类张量,分别对正样本索引pos_index与负样本索引neg_index用gather_nd取样计算 softmax 交叉熵,再以 0.5/0.5 加权合成;若某类索引为空则该项为 0。scripts/tracking/siamrpn/train.py 中可以直接看到用法:from gluoncv.loss import SiamRPNLoss,并在训练前criterion SiamRPNLoss(opt.batch_size)(见该文件 L22、L158)。小结:按任务选择损失回到docs/api/loss.rst本身,它作为 API 参考页的职责是把gluoncv.loss模块的成员索引给读者;本文则结合 gluoncv/loss.py 源码给出了完整的落地视图。可以按任务建立如下映射:任务首选损失仓库内参考调用SSD 检测SSDMultiBoxLossscripts/detection/ssd/train_ssd.pyYOLOv3 检测YOLOV3Loss(封装在网络内)gluoncv/model_zoo/yolo/yolo3.pyCenterNet 检测HeatmapFocalLossMaskedL1Lossscripts/detection/center_net/train_center_net.py语义分割(带 aux)MixSoftmaxCrossEntropyLossscripts/segmentation/train.pyICNet 分割ICNetLoss同上(L194)类别不均衡分类FocalLossgluoncv/loss.py知识蒸馏DistillationSoftmaxCrossEntropyLossscripts/classification/imagenet/train_imagenet.pySiamRPN 跟踪SiamRPNLossscripts/tracking/siamrpn/train.py使用这些损失时的两个通用注意点:其一,所有损失都继承自 Gluon 的Loss/Block,因此可以与hybridize协同,但SSDMultiBoxLoss需要跨设备列表输入,单设备调试时也可传单张量(内部_as_list会自动包装);其二,多损失组合(如aux_weight、lambd、weights)决定了各分支梯度强度,调参时应以训练日志中各分项损失(如CrossEntropy、SmoothL1等 metric)为观测抓手。赞分享计算机视觉深度学习预训练【免费下载链接】gluon-cvGluon CV Toolkit项目地址https://gitcode.com/gh_mirrors/gl/gluon-cv点击查看免费下载相关推荐tessdata 实战完整指南如何用 OCR 训练数据把仓库库位标签识别做到又快又准tessdata 实战完整指南如何用 OCR 训练数据把仓库库位标签识别做到又快又准 tessdata 是一套开箱即用的 OCR光学字符识别训练数据集合OCR人工智能gaohaoyang.github.io主题SEO优化指南提升博客排名的7个关键技巧gaohaoyang.github.io主题SEO优化指南提升博客排名的7个关键技巧 想要让你的技术博客在搜索引擎中获得更好的排名吗gaohaoyang.g重新定义音乐体验如何通过EeveeSpotify解锁Spotify高级功能重新定义音乐体验如何通过EeveeSpotify解锁Spotify高级功能 在数字音乐时代Spotify已成为全球数亿用户的首选流媒体平台。然而每月高昂的逆向工程插件系统移动开发上一篇OpenTalking社区与贡献指南如何参与这个工业级开源AI数字人项目下一篇i-have-adhd 跨平台安装指南为 15 种 AI 编程 Agent 启用 ADHD 友好输出创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

VS2010+OpenCV+zxing-cpp:老平台工业扫码实战与优化

VS2010+OpenCV+zxing-cpp:老平台工业扫码实战与优化

简介:这是一套面向C开发者的二维码识别工程资源包,基于VS2010开发环境,整合OpenCV图像处理库与ZXing-C解码库,适合需要在Windows桌面端实现条码/二维码扫描功能的初中级开发者,也可作为计算机视觉入门练手项目。压缩包…

2026/10/15 12:19:54 阅读更多 →
Flutter跨平台开发实战:鸿蒙适配与生物知识APP优化

Flutter跨平台开发实战:鸿蒙适配与生物知识APP优化

1. 项目背景与核心价值去年接手这个生物知识APP项目时,客户明确要求同时覆盖iOS、Android和即将发布的鸿蒙设备。作为从业十年的移动端开发者,我第一时间想到了Flutter这个老朋友——但要在鸿蒙系统上跑通Flutter,确实遇到了不少技术深坑。经…

2026/10/15 12:18:53 阅读更多 →
Java并发编程核心:线程安全、锁机制与内存可见性实战

Java并发编程核心:线程安全、锁机制与内存可见性实战

1. 线程安全到底在解决什么问题很多刚接触Java服务端开发的朋友,写单线程业务逻辑时顺风顺水,一旦引入多线程或者部署到并发环境,就开始遇到各种“玄学”问题:明明代码逻辑没问题,跑出来的结果却对不上;某个…

2026/10/15 12:18:53 阅读更多 →

最新新闻

人脸特征提取三路线:HoG、Dlib与CNN原理及选型指南

人脸特征提取三路线:HoG、Dlib与CNN原理及选型指南

人脸识别这几年从实验室走向了门禁、考勤、相册聚类、甚至手机解锁,几乎成了计算机视觉里最"接地气"的方向之一。但真到动手做项目的时候,很多人会卡在同一个地方:特征到底怎么提?我见过不少朋友一上来就堆深度学习模型…

2026/10/15 13:00:25 阅读更多 →
校园失物招领系统

校园失物招领系统

文章目录前言项目简介项目背景技术栈系统架构核心功能截图后台管理公告管理认证授权认领管理评论收藏失物招领信息消息用户管理首页失物列表发布信息我的发布个人中心核心技术实现项目亮点项目总结项目下载:前言 项目简介 面向高校校园场景的前后端分离 Web 应用&a…

2026/10/15 13:00:25 阅读更多 →
基于4D关联图的多相机实时多人动作捕捉技术解析

基于4D关联图的多相机实时多人动作捕捉技术解析

1. 从"多相机多人动捕"这个硬骨头说起第一次看到"4D Association Graph"这个名词的时候,我正蹲在一个临时搭建的动作捕捉棚里,面对八台同步相机拍出来的画面发愁。画面里三个人在互相传球,手臂交叠、身体遮挡、快速移动&…

2026/10/15 13:00:25 阅读更多 →
SSM在线作业管理系统:从选题到答辩的全链路解析

SSM在线作业管理系统:从选题到答辩的全链路解析

又到了一年毕业设计选题季,后台私信里反复被同一个关键词轰炸:SSM在线作业管理系统。实话说,这个题在计算机毕业设计里属于"经典中的经典",每年都有大量学生选它,但真正能讲清楚"为什么这么设计、每一步…

2026/10/15 13:00:25 阅读更多 →
Network Kit HTTP:三方库版本清单ETag重验证与离线快照保底【鸿蒙心迹】

Network Kit HTTP:三方库版本清单ETag重验证与离线快照保底【鸿蒙心迹】

场景说明: 本文 ManifestHarbor 的 MH-1421、v17、8 个依赖项、ETag "ohpm-v17"、304 响应与 HiLog 均为受控演示数据。示意图不是 DevEco Studio、真机或真实服务器的测试结果;代码依据公开 Network Kit API 设计,尚未在实际 Harm…

2026/10/15 13:00:25 阅读更多 →
Hyper-Frames:无标签视频+里程计自监督预训练,实现低成本运动预测

Hyper-Frames:无标签视频+里程计自监督预训练,实现低成本运动预测

做自动驾驶、移动机器人、无人机导航的同行,应该都有一段被数据集标注反复折磨的经历。最近 Waymo Research 放出的 Hyper-Frames 框架,让我终于看到一条不太一样的路:不用一开始就堆人天去标框、标轨迹、标地图,用无标签视频加里…

2026/10/15 12:59:25 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →