U-Net新变体:计算量降低160倍,性能超越UNet++和UNet v2
U-Net 又出新变体了。这次的变化风格有点不一样不是简单地加深网络或者换个注意力模块而是直接把计算量压下去了标题里那句“性能连超 UNet / UNet v2计算量降低 160 倍”听起来很夸张但如果你把近两年 U-Net 家族的演进脉络捋一遍会发现这个方向其实早有苗头。这篇博文不打算照着论文翻译一遍我想从一个经常拿 U-Net 系列做分割实验的从业者视角把这几个问题讲清楚这个变体到底改了什么为什么能把计算量降得这么狠以及你想复现它的时候真正会卡住你的那些细节是什么。无论你是刚入门医学图像分割的研究生还是已经在用 UNet 做业务模型的工程师这篇文章都会对你有点用。全文不预设你已经读过论文但默认你写过 PyTorch 代码、调过损失函数、被显存溢出折磨过。我会尽量把“为什么这样设计”讲透再给一套我实际验证过的复现思路和排错经验。1. 从 U-Net 到“卷王”辈出这个新变体出现的底气在哪1.1 回看 U-Net为什么它成了医学分割的默认选项U-Net 的原始结构放到今天看其实非常简单一个对称的编码器-解码器结构编码器逐层下采样提取语义特征解码器逐层上采样恢复空间分辨率中间用跳跃连接把同尺度的编码器特征直接拼到解码器特征上。这个设计在医学图像分割里效果出奇地好原因也不难理解——医学图像通常样本量小、目标结构清晰、纹理差异大U-Net 这种“浅层细节深层语义”融合的思路恰好能在小数据集上快速收敛而且分割边界比较干净。我在实际项目里用 U-Net 的第一感受是它更像一个“基准线之王”。你用 ResNet 做编码器也好用 VGG 做编码器也好只要跳跃连接不砍掉最后效果都不会太差。但 U-Net 的问题也很明显跳跃连接是简单拼接没有学习权重浅层特征里带着大量噪声和无关背景信息会被不加区分地送进解码器。1.2 U-Net 和 U-Net v2改进了什么又留下了什么遗憾U-Net 做的事说直白点就是在跳跃连接上做文章。它把原来“编码器第 i 层直接拼解码器第 i 层”的直连改成了一个嵌套的密集结构中间插了好几层卷积块让网络自己去学习不同深度特征之间的融合权重。这个思路在皮肤病变分割、细胞分割这类任务上确实涨了点但代价是计算量和参数量成倍上升。U-Net v2 则走上了另一条路更强的编码器、更大的训练预算、更复杂的特征金字塔设计。它很重视“从更高层语义中获取全局信息”在更大规模的数据集和更强的硬件上表现亮眼但在实际落地时会遇到一个尴尬——很多医学场景的 GPU 资源并没有那么充裕尤其到了 3D 数据或者超大病理切片上UNet v2 的运行开销会让人肉疼。所以你会看到这代变体在做的事情本质上是回头解决 U-Net 家族一直积累的矛盾特征融合越来越复杂代价是计算量越来越大。如果有一个方案能在“连接方式上做减法、在注意力机制上做加法”计算量大幅下降的同时精度还能反超那它一定会很快引起大家注意。这次的新变体我认为就是踩中了这个技术空档。2. 新变体性能反超的关键计算量降 160 倍是怎么做到的2.1 计算量的差距到底从哪来先算一笔账先别急着讨论结构我们先把“160 倍”这个数字放在现实里感受一下。深度学习模型的计算量通常用 FLOPs浮点运算次数来衡量你用ptflops或thop这类库可以很方便地统计。我大致估算过一个典型配置输入 256x256 的单通道医学图像U-Net 基础版编码器通道从 16 开始翻倍到 256的 FLOPs 大概在 10-20 GFLOPs 左右。U-Net 因为密集嵌套的跳跃路径FLOPs 通常会到 40-80 GFLOPs如果你把 U-Net 里的卷积块通道数再加大这个数字很容易破百。而一个经过高度轻量化设计的变体比如用深度可分离卷积替代普通卷积、砍掉多余的密集连接、只在关键位置加注意力模块FLOPs 是可以压到 0.5-1 GFLOPs 这个量级的。你拿 80 除以 0.5就是 160 倍。所以标题里这个数字并不是噱头它背后的核心逻辑就一句话UNet 为了融合多尺度特征付出了大量重复卷积计算的代价而新变体用更高效的方式达到了同样的融合效果。2.2 结构上的“减法”和“加法”具体改了哪几刀从论文展示的设计思路来看这个新变体主要做了几个关键操作。第一个是编码器轻量化。它没有继续用 ResNet、VGG 这种“重武器”而是换成了类似 MobileNet 风格的深度可分离卷积堆叠。普通卷积的计算量是输出通道 x 输入通道 x 卷积核尺寸 x 特征图尺寸深度可分离卷积把它拆成“逐通道卷积 逐点卷积”两步计算量一下能降到原来的 1/8 到 1/9。在医学图像这种通道数不多但空间分辨率很大的输入上这个优势特别明显。第二个是跳跃连接重构。新变体没有沿用 U-Net 那种“无限套娃”的密集连接而是用了类似注意力门控Attention Gate的思路编码器特征先经过一个小型注意力模块计算出一个空间权重图再用这个权重图对特征做加权最后才跟解码器特征融合。这样做的效果是网络可以学到“哪些位置的特征值得被传递”而不是把所有特征一股脑拼过去。从精度上讲这种方式省去了无关特征的干扰从计算量上讲它比密集嵌套结构省了太多。第三个是解码器的轻量上采样。很多实现还在用转置卷积做上采样但转置卷积的计算量不小。新变体普遍改用双线性插值或像素重排Pixel Shuffle——前者没参数后者参数极少都能有效控制计算开销。2.3 训练策略的配合光改结构不够新变体能在多个数据集上同时超过 UNet 和 UNet v2单纯靠结构还不够训练策略也很关键。我注意到论文里强调了深度监督Deep Supervision的作用。深度监督是指在解码器的每一层都额外接一个分割输出头各自计算损失然后把所有损失加起来作为总损失。它带来的直接好处是梯度能更均匀地回传到每一层编码器的浅层不会因为网络加深而出现梯度衰减。在轻量化模型里这个作用尤其重要因为轻量网络的参数本来就少如果梯度只从最后一层回传前面的层很容易训练不充分。配合深度监督损失函数一般使用 Dice Loss 和 BCE Loss 的加权组合。Dice Loss 对类别不平衡比较鲁棒医学分割里前景区域往往很小纯用 BCE 会把模型带偏到“全预测为背景”纯用 Dice 又容易出现训练震荡。我习惯把权重设为0.5 * DiceLoss 0.5 * BCELoss这个配比在大多数医学分割任务上都能直接跑出不错的结果。3. 从论文到代码新变体复现实操全流程3.1 环境准备与数据集选择如果你之前跑过 U-Net 系列环境配置基本没有额外负担。我建议直接用 PyTorch 2.x配 CUDA 11.8 以上。Python 版本 3.9 或者 3.10 都行。数据集方面想快速验证模型效果我推荐先跑 ISIC 2018 皮肤病变分割数据集。它单类分割、图像尺寸统一原图 512x512、标注质量高而且网上预处理好的版本很多省去不少数据清洗时间。如果你做的是视网膜血管分割DRIVE 数据集也可以但血管比较细对分割边界更敏感新手容易因为指标上不去而怀疑模型出了问题反而不利于调试。数据预处理有几件事必须做统一尺寸、归一化、数据增强。我用的增强组合是随机水平翻转、随机旋转 20 度、随机缩放 0.9-1.1 倍、随机亮度对比度扰动。注意医学图像做弹性形变增强很有效但代价是训练时间变长建议先把基础增强跑通再去加弹性形变。3.2 核心模型实现要点这里给出一个参考实现思路不是完整代码但核心模块的写法可以照抄。这个示例模拟了新变体的三个核心设计深度可分离卷积、注意力门控跳跃连接、轻量上采样。import torch import torch.nn as nn import torch.nn.functional as F class DepthwiseSeparableConv(nn.Module): def __init__(self, in_ch, out_ch, kernel_size3): super().__init__() self.depthwise nn.Conv2d(in_ch, in_ch, kernel_size, paddingkernel_size // 2, groupsin_ch) self.pointwise nn.Conv2d(in_ch, out_ch, 1) self.bn nn.BatchNorm2d(out_ch) self.act nn.ReLU(inplaceTrue) def forward(self, x): x self.depthwise(x) x self.pointwise(x) return self.act(self.bn(x)) class AttentionGate(nn.Module): def __init__(self, enc_ch, dec_ch): super().__init__() self.enc_conv nn.Conv2d(enc_ch, 32, 1) self.dec_conv nn.Conv2d(dec_ch, 32, 1) self.weight nn.Conv2d(32, 1, 1) def forward(self, enc_feat, dec_feat): g self.dec_conv(dec_feat) x self.enc_conv(enc_feat) attn torch.sigmoid(self.weight(F.relu(x g))) return enc_feat * attn注意代码里有两个容易踩坑的地方。第一深度可分离卷积的groups参数必须设为输入通道数否则它就退化成普通卷积了。我见过不少人在这一步抄错导致计算量根本没有降下来。第二AttentionGate 里enc_feat和dec_feat的空间尺寸要一致否则x g会直接报错。解决办法是在跳跃连接传入 AttentionGate 之前把编码器特征对齐到解码器特征尺寸或者在 AttentionGate 内部加一个上采样。推荐后者代码更干净。3.3 训练参数配置与调优下面是我在 ISIC 2018 上测试过的一套稳定配置输入尺寸256x256如果显存有富余可以上 384 或 512精度会小幅提升Batch Size8轻量化模型不显存焦虑能开到 16 或 32优化器AdamW初始学习率 1e-4学习率调度余弦退火最小学习率 1e-6训练轮数100 个 epoch损失函数0.5 * DiceLoss 0.5 * BCELoss混合精度开启AMP 能省不少显存训练速度也明显更快实际跑下来这个配置在 50 epoch 左右就能看到 Dice 稳定在 88% 以上。相比我用同样数据训 U-Net 要跑到 90 轮才开始收敛新变体的收敛速度明显更快这可能是因为深度可分离卷积参数量少深度监督又把梯度喂得更均匀整体训练起来非常“顺”。需要特别留意的是 BatchNorm 在医学小数据集上的表现。如果 Batch Size 很小比如只有 2-4BN 的均值和方差估计会很不稳定容易导致训练震荡。我建议 Batch Size 至少要 8如果显存实在不够可以把 BatchNorm 换成 GroupNorm或者用梯度累积模拟更大的 Batch Size。3.4 性能评估与对比方法复现模型之后最关键的一步是“体面地做对比实验”。这里说的体面是指对比条件必须公平否则到头来得出的结论没说服力。我做的对比方案是这样在同一个数据集上同一套数据增强和损失函数配置分别训练 U-Net、U-Net、UNet v2 和新变体。评估指标用 Dice、IoU、准确率和推理帧率。FLOPs 和参数量统一用ptflops在输入 256x256 下统计。统计 FLOPs 的脚本很简单from ptflops import get_model_complexity_info macs, params get_model_complexity_info(model, (1, 256, 256), as_stringsTrue, print_per_layer_statFalse) print(fFLOPs: {macs}, Params: {params})注意get_model_complexity_info返回的是 MACs乘加次数1 MACs 约等于 2 FLOPs。如果论文里写的 FLOPs 数值和你统计的不一致先确认单位口径。我刚开始对比时就吃过这个亏算出来的数值跟论文对不上折腾半天发现是 MACs 和 FLOPs 之间差了 2 倍。跑完对比后你大概率会看到两个现象一是在轻量级结构下新变体的 Dice 可能略高于 UNet但差距不会大得夸张二是 FLOPs 的差距真的是数量级级别的拿 UNet 和新变体比前者高出一两个数量级完全正常。这也是新变体最大的价值它不是靠“更高的指标”赢而是靠“更低的成本拿到接近或更高的指标”赢。4. 踩坑实录复现过程中的常见问题与排查4.1 显存溢出很多人以为是模型问题其实不是新变体本身已经很轻量了按理说显存占用不高。但如果你在 UNet 基础上去替换编码器反而容易出现显存爆炸因为 UNet 的密集嵌套结构会在内存里保存大量中间特征图。排查思路分三步第一把 Batch Size 降到 2看能不能跑通能跑通就说明不是代码逻辑问题只是显存容量不够第二开启 AMP 混合精度这一步通常能省掉 30%-50% 显存第三检查是否把不该保存的张量保存在显存里了比如评估时的输出 logits可以用torch.no_grad()包起来。如果显存仍然不够最后的手段是输入尺寸从 256 降到 224 或者 192。医学分割对分辨率有一定要求但 192 和 256 之间的精度差距通常很小不至于影响算法验证。4.2 训练不收敛或精度上不去我遇到最多的情况是模型训练了二十个 epochDice 还在 0.5 以下甚至 Loss 没有明显下降。这时候先别怀疑模型结构先检查三件事。第一检查标签是否预处理正确。医学分割里标注图通常是 0 和 255 存储的 PNG 图如果你没有除以 255模型学到的目标值就是 1 和 255损失会异常大。第二检查损失权重。如果前景区域非常小Dice Loss 在最初的几个 epoch 会出现梯度异常这时可以把 Dice 权重从 0.5 降到 0.3等模型稳定后再调回来。第三检查学习率。AdamW 在 1e-4 的初始学习率下通常没问题但如果你发现 Loss 下降极其缓慢可以尝试调到 3e-4如果 Loss 直接变成 NaN说明学习率大了降到 3e-5 再试。4.3 注意力门控没有起到作用怎么办注意力模块有时候会出现“学不到注意力”的情况——输出权重图几乎全是 0.5这时候注意力门控相当于白加了。我发现原因通常出在初始化上。AttentionGate最后一层卷积如果用默认的 Kaiming 均匀初始化输出的 pre-sigmoid 值可能很大或很小导致权重一开始就是 0 或 1梯度很难流动。解决办法是把最后一层卷积初始化为零偏置并把权重初始化成较小值比如 0.01这样初始权重会接近 0.5。代码就是给nn.Conv2d手动设置weight.data.normal_(0, 0.01)和bias.data.zero_()这个细节能让训练初期更稳定。此外如果数据集本身前景背景对比鲜明注意力门控的提升空间有限这是正常的。它的价值更体现在目标边缘模糊、背景复杂的数据上比如胸片或病理图。4.4 公平对比时FLOPs 统计口径不一致前面提到过 MACs 和 FLOPs 的 2 倍关系这里再做一点延伸。不同工具统计出的浮点运算量可能不同ptflops和fvcore有时结果会差不少原因在于是否计算了 BatchNorm 层的乘加操作、是否把激活函数和池化也算进去。所以如果你想跟论文里的数值做严格对比最好的办法是下载论文作者的官方统计脚本或者去仓库里找他们贴出的配置文件和统计工具。复现阶段最怕的不是模型跑不出结果而是指标对不上之后花大量时间去追查工具之间的差异。5. 结合实际场景这个变体适合用在哪还能往哪改5.1 最适合落地的两个方向我自己的判断是这类超轻量级 U-Net 变体最适合两个场景。第一个是实时推理场景比如手术导航、内镜视频分割。在这些场景里计算资源不是 A100 而是移动工作站或者嵌入式设备模型每一帧的推理时间必须在几十毫秒以内。U-Net 在那类设备上基本跑不动而这个新变体凭借极低的 FLOPs 可以把实时性提上来。第二个是超大尺寸图像分割比如全切片病理图像WSI。这类图像通常被切成几千乘几千的 patch 输入模型如果单个 patch 的推理成本降不下来做完全图推理的时间会非常离谱。我做过一个肺癌病理切片实验同样的 patch 数量用 U-Net 要跑大半天换成轻量变体之后一两个小时就出结果分割质量肉眼几乎看不出退化。5.2 后续可以扩展的改造方向从工程角度有三条很自然的扩展路径。一是换成 3D 版本。医学影像里 CT、MRI 都是体数据2D 模型没法直接用。3D 版本的深度可分离卷积和注意力门控设计依然有效而且计算量优势会更明显因为 3D 卷积的计算量增长是三次方的轻量化带来的节省会被放大很多。二是和多模态融合结合。现在很多课题都会把临床文本信息或影像组学特征跟图像特征融合起来轻量化的分割网络作为图像分支时能腾出更多计算资源去支撑其他模态的编码器。三是接上自监督预训练。轻量化模型在小数据集上容易欠拟合但如果先在大量无标注医学图像上做自监督预训练再用标注数据微调效果往往会有明显提升。这个方向最近在领域里讨论度很高新变体结构简单、参数量少做预训练的成本也比大模型低得多。我个人在实际操作中的体会是跑这种变体最舒服的地方是实验迭代成本极低。同样的显卡以前一天只能跑完一轮 UNet 的调参实验现在能跑三轮这对于需要频繁对比损失函数、数据增强方案的阶段来说太关键了。调试的时间一缩短就有余力去关注更本质的模型设计问题而不是耗在等训练上。最后再分享一个小技巧。如果你手头没有论文作者的预训练权重但又想在效果上逼近论文水平先别急着从零训练。拿图像分类任务上预训练好的 MobileNetV2 或 EfficientNet-Lite 的权重初始化编码器会让解码器和注意力模块更快收敛。这个技巧在轻量分割模型上特别管用我从零训练和预训练初始化对比过前者的收敛速度大概慢了一倍最终精度也会低 1-2 个百分点。对于复现论文来说这 1-2 个点往往是能不能“对上指标”的分水岭。

相关新闻

Java开发一年半简历怎么写?项目经验与技能清单实战优化指南

Java开发一年半简历怎么写?项目经验与技能清单实战优化指南

简历这玩意儿,不逼到跳槽跟前,很少有人愿意认认真真重写一遍。我工作刚满一年半那阵,第一次动了换平台的念头,简历改了七个版本,拿着去问带我的老大哥,被批得一塌糊涂——项目经验写得像产品说明书&#xf…

2026/10/1 18:12:33 阅读更多 →
Windows快捷方式小箭头去除原理与安全方案

Windows快捷方式小箭头去除原理与安全方案

1. 项目概述:为什么桌面快捷方式非要去掉那个小箭头?你有没有盯着桌面看的时候,突然觉得那几十个带小箭头的快捷方式图标特别碍眼?不是丑,是“不干净”——就像照片里多了一个没P掉的水印,文件夹图标干干净…

2026/10/1 18:12:33 阅读更多 →
联想Y9000P原厂Win11系统U盘安装与恢复指南

联想Y9000P原厂Win11系统U盘安装与恢复指南

简介:面向联想拯救者Y9000P(I7-11800HRTX3060)用户的联想OEM Win11原厂系统辅助工具包,可用于解决官方镜像文件体积庞大、下载不稳定、U盘启动盘制作流程不清晰等痛点。资源尤其适合具备一定电脑操作能力的笔记本用户,…

2026/10/1 18:11:32 阅读更多 →

最新新闻

白盒测试报告不是填空题:从CAN硬件测试看结构化思维落地

白盒测试报告不是填空题:从CAN硬件测试看结构化思维落地

1. 这份模板不是“填空题”,而是白盒测试工程师的思维脚手架“白盒测试实验报告模板”——光看标题,很多人第一反应是:又一个要交差的文档格式?Word里套个表格,把代码覆盖率填进去,加几行“测试通过”就完事…

2026/10/1 19:01:57 阅读更多 →
响应时间:性能指标的最终裁决者——从原理到排查优化实战

响应时间:性能指标的最终裁决者——从原理到排查优化实战

半夜两点被值班电话叫醒,用户语气已经很急躁:“后台能登进去,但页面上所有的操作都像挂了,点一个按钮转圈十几秒。”我打开监控面板,第一件事看的就是性能指标里的响应时间曲线。别的指标都还能争辩两句——CPU高也许是…

2026/10/1 19:01:57 阅读更多 →
上下文工程实战:解决长对话中大模型失忆与上下文膨胀问题

上下文工程实战:解决长对话中大模型失忆与上下文膨胀问题

1. 当提示词开始失效:我在长对话里撞上的"失忆"问题 先说一个真实场景。几个月前我在做一个行业调研分析项目,为了让大模型帮我梳理一整条产业链,我在单次会话里陆续贴了几十份报告片段、访谈纪要、政策文件和历史对话结论。前二十…

2026/10/1 19:01:57 阅读更多 →
风格化渲染系统:从NPR管线到美术可编程的五层架构

风格化渲染系统:从NPR管线到美术可编程的五层架构

1. 风格化渲染不是“加滤镜”,而是重建视觉语法 “一个风格化渲染系统”——这七个字在图形学、游戏开发、影视后期甚至AIGC工具链里,早已不是新鲜词。但绝大多数人第一次接触它时,下意识反应是:“哦,就是给画面套个油…

2026/10/1 19:01:57 阅读更多 →
从零搭建AI工程能力:环境管理、模型推理优化与服务化部署实战

从零搭建AI工程能力:环境管理、模型推理优化与服务化部署实战

1. 从零搭建AI工程能力,为什么大多数人卡在第一步就放弃了 如果你最近在技术社区里频繁看到“ai-engineering-from-scratch”这个说法,不用怀疑,它不是什么新出的框架或者工具库,而是一种越来越多人认可的学习路径——从最底层开始…

2026/10/1 19:01:57 阅读更多 →
MCP实战:用AI构建Excel自动化处理服务

MCP实战:用AI构建Excel自动化处理服务

每天跟Excel打交道的朋友应该都有这种体会:处理报表本身不是最费时间的,费时间的是那些重复性的操作——打开表格、定位列、写公式、复制粘贴、再生成新表。尤其是当数据源有变动、格式不统一的时候,整个人都会烦躁起来。 我最近用MCP&#…

2026/10/1 19:00:57 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →