SAM3模型实测教程:从环境配置到图像视频分割全流程指南
SAM3模型终于来了。作为分割模型家族的最新成员SAM3和上一代相比最直观的变化是分割边界更干净、对遮挡物体的处理更稳同时推理速度也有明显提升。这篇文章我不会只贴一段官方代码而是按自己的实测流程完整走一遍从装环境、下权重到跑通一张图、再做视频分割最后把踩过的坑整理成排查清单供正准备上手这个模型的朋友参考。如果你和我一样之前用过第一代SAM或SAM2那这篇文章能帮你快速对齐SAM3的差异点少走弯路。如果你是第一次接触这类分割模型只要照着步骤操作也能在一台普通显卡机器上把代码跑起来亲手完成一次图像分割。1. SAM3是什么三代模型的演进与这次的关键升级1.1 从提示分割到统一图像与视频分割先说背景。第一代SAM的核心贡献是提出了“提示分割”这个交互范式你不再需要为每个目标写训练代码只要给模型一个点、一个框、甚至一句描述它就能把对应物体从画面里抠出来。这个思路后来被大量集成到抠图、图像编辑、标注工具里甚至不少手机相册的一键抠图功能背后就是类似技术。第二代SAM把能力从单张图像扩展到了视频。它引入了一个记忆机制模型在处理视频帧时会把前面帧的分割结果作为“记忆”带入后续帧这样即使目标在运动、遮挡、形变它也能一帧一帧跟下去。这个方向非常实用因为很多真实需求都在视频里自动追踪某个物体、给视频里的人物做字幕遮挡、批量抠出动态商品等。到了SAM3这一代我的理解是它把前两代的能力做了一个整合重点优化了三个层面特征提取网络的信息密度、跨帧记忆的稳定性以及小目标分割的边界精细度。从实测效果看面对同一张图它输出的掩码边缘比我之前用SAM2跑的明显更“跟手”尤其是在毛发、树叶这类细碎边缘上的表现确实有质的提升。1.2 SAM3带来的核心变化与真实使用场景那么SAM3到底“新”在哪里我把它拆解成几个容易感知的变化点第一是交互方式更丰富。除了传统的点提示和框提示这一代在部分接入方式下支持文本提示直接输入“画面中戴帽子的那个人”这类描述模型会尝试把语义对齐到分割区域。这个能力对视频剪辑场景特别友好可以减少很多手工打点的操作。第二是长视频稳定性提升。前代模型在超过一定帧数后偶尔会因为误差累积导致目标跟丢。SAM3对记忆模块做了重构在长时间序列中会主动“遗忘”过时信息、保留关键特征从我的测试来看连续跟300帧以上的视频目标漂移的情况比上一代少很多。第三是推理成本明显优化。同样的输入尺寸SAM3的默认模型在前向传播时占用的显存比上一代小帧率更高。这意味着你手里的消费级显卡也能跑得动视频分割不再非得租服务了。这些变化对应的具体场景很明确短视频创作者做自动字幕遮挡电商运营批量抠商品图设计师做素材切分还有做数据标注的团队拿它做预标注工具。对这些人来说SAM3能显著降低从图像到“可用掩码”的时间成本。2. 环境准备与依赖安装先把地基打好2.1 硬件配置与显存规划先说结论跑通SAM3并完成一张图分割最少需要6GB显存的显卡如果要做视频分割建议16GB以上。这是我在几种常见配置上实测后的底线值。影响显存的因素主要有三个模型规格、输入图像尺寸、是否开启半精度推理。官方通常提供多个规格的模型权重我按常见命名习惯整理了一张表方便你事先估算自己的机器能跑到哪个档位模型规格权重大小约图像尺寸显存占用约建议显卡Tiny约150MB1024x10244-6GB中低端显卡Base约400MB1024x10246-8GB主流显卡Large约1.2GB1024x10248-10GB中高端显卡Huge约2.5GB1024x102412-16GB高端显卡这里的显存占用是按默认图像尺寸估算的。如果你输入的是2048x1536这种大图占用会继续上涨因为模型需要把特征图放大到对应分辨率。所以如果你显存吃紧最简单的办法就是把输入图像先缩放到1024x1024以内。内存方面建议至少有16GB物理内存加载权重和图像都需要内存中转。另外权重文件放在机械硬盘和放在固态硬盘上加载速度差别很大这个后面会细说。2.2 创建虚拟环境与安装官方代码库第一步是准备一个干净的环境。我用的是环境管理工具创建的独立环境不直接装在系统Python里否则后面装依赖很容易和已有的其他项目冲突。下面是环境创建和依赖安装的常用流程conda create -n sam3 python3.10 conda activate sam3接着安装深度学习框架。这里有一点要特别提醒框架版本和显卡驱动必须匹配千万不要图省事装一个不带对应加速的版本不然模型加载后推理会非常慢。装的时候注意选择与你显卡驱动匹配的版本。我建议先查一下自己显卡驱动支持的版本区间再用对应的官方安装命令安装。然后从官方代码仓库克隆项目进入项目目录后安装依赖git clone https://example.com/sam3.git cd sam3 pip install -e .这条命令会把项目以可编辑模式安装到当前环境这样项目内的示例脚本和核心模块可以直接引用后续修改代码也无需重新安装。项目里通常会有一个requirements.txt或environment.yml文件安装完主依赖后再执行一次pip install -r requirements.txt把剩余依赖补齐。注意不同接入方式下安装步骤略有差异但原则是一样的——先在干净环境里装深度学习框架再装项目依赖最后验证是否能正常导入核心模块。安装完成后可以跑一个自带的检查脚本通常是一个sanity_check.py或demo.py。如果它能正常打印版本信息说明环境已经通了。这一步很关键能帮你把“环境问题”和“代码问题”分开排查。2.3 模型权重下载与目录规划权重文件是运行SAM3必需的别省略这一步。下载地址通常在官方发布页或代码仓库的说明文档里不同规格的权重对应不同的文件名比如sam3_huge.pth、sam3_large.pth这种命名方式。我的习惯是在项目下建一个checkpoints目录把权重统一放进去mkdir -p checkpoints # 以Huge规格为例 wget https://example.com/weights/sam3_huge.pth -O checkpoints/sam3_huge.pth存放路径一定要在后续代码里和实际位置保持一致否则加载时必然报路径错误。另外建议保留权重的下载校验值如MD5或SHA256下载完成后核对一下很多莫名其妙的“模型加载失败”其实都是权重文件下载不完整导致的。下载速度慢时可以优先考虑从官方提供的镜像源下载或者选择在非高峰期下载。部分权重文件较大Huge规格的可能有数GB如果你把权重放在机械硬盘上加载时会明显感觉到等待时间变长有条件就放固态硬盘上体验完全不同。3. 第一次运行让SAM3完成一张图像分割3.1 测试图像与提示方式的选择环境准备好之后接下来就是最让人期待的部分跑第一张图。我先准备了一张包含多个物体的测试图画面里有一辆车、一个行人、几棵树这样方便测试不同提示方式的效果。SAM3的提示方式主要有三种。点提示是最基础的你在目标上点一个坐标告诉模型“这里有一个物体”。框提示是画一个矩形框住目标相当于给出一个更明确的定位。组合提示就是把多个点、多个框混合使用在复杂场景里最稳。我建议第一次跑的时候先用点提示。原因很简单点提示对坐标误差的容忍度最高哪怕点半了模型通常也能通过上下文把目标大致分割出来出结果的概率最大。这和框提示不同框如果画偏了模型很容易把背景也包含进来。3.2 最小推理脚本逐行拆解下面这个脚本是跑通SAM3的最小框架我用它完成了一张图的点提示分割import torch import numpy as np from PIL import Image from sam3 import sam3_model_registry, Sam3Predictor # 加载模型权重并移动到GPU checkpoint checkpoints/sam3_huge.pth model sam3_model_registry[huge](checkpointcheckpoint).to(cuda) model.eval() # 初始化预测器 predictor Sam3Predictor(model) # 读取测试图并转为RGB numpy数组 image Image.open(demo.jpg).convert(RGB) predictor.set_image(np.array(image)) # 定义点提示目标中心的一个点 input_point np.array([[450, 300]]) input_label np.array([1]) # 执行预测 masks, scores, logits predictor.predict( point_coordsinput_point, point_labelsinput_label, multimask_outputTrue, ) # 选择分数最高的掩码 best_idx int(np.argmax(scores)) best_mask masks[best_idx] print(f最高置信度: {scores[best_idx]:.4f})这段代码里有两个参数值得多说一句。multimask_outputTrue时模型会返回三个候选掩码。这是因为一个点可能对应多个合理的分割结果比如点在一个人身上模型可能同时给出“整个人”和“只包含上半身”两种方案返回多个候选让你自己选。第一次跑的时候建议保留True观察三个结果哪个更匹配你的意图。input_label表示这个点是前景还是背景1代表前景0代表背景。你可以在目标周围多打几个背景点告诉模型“这些地方我不要”这样能明显提升掩码的准确率尤其是在目标与背景颜色接近的时候。运行完成后你会得到三个掩码数组和对应的置信度分数。把掩码保存成图片就能直观看到分割效果from PIL import Image mask_img (best_mask * 255).astype(np.uint8) Image.fromarray(mask_img).save(result_mask.png)3.3 用框提示和组合提示拿到更稳的分割结果点提示虽然简单但遇到大范围目标时单点往往不够用。比如画面里一整辆车你只点一个轮子模型可能只把轮子分割出来。这时候框提示更合适。# 框提示直接框住整辆车 input_box np.array([[100, 150, 420, 380]]) masks, scores, logits predictor.predict( boxinput_box, multimask_outputTrue, )框提示的坐标格式是左上角和右下角的xy坐标。框的范围不用非常精确但一定要完整包住目标漏掉一点都可能让分割结果缺一块。实际使用中我经常把点和框组合起来先用框锁定大致区域再在目标中心补一个点在背景处补一个背景点。这样既避免了单独框提示可能把背景圈进来的问题也避免了点提示在大目标上的覆盖不全。input_point np.array([[260, 270], [100, 100]]) input_label np.array([1, 0]) masks, scores, logits predictor.predict( point_coordsinput_point, point_labelsinput_label, boxinput_box, multimask_outputFalse, )注意这里把multimask_output设成了False模型会直接返回一个最适配所有提示的掩码省去手动挑选的步骤。这个模式适合你已经确认提示条件比较准确的情况。4. 进阶操作视频分割与批量推理4.1 视频分割的思路与最小实现跑通单张图之后多数人很快就想试视频分割。SAM3在处理视频时的核心思路是把上一帧生成的分割掩码作为下一帧的提示结合内置的记忆机制让分割结果沿时间轴延续下去。我用一段短视频做了测试流程是这样import cv2 import numpy as np cap cv2.VideoCapture(input.mp4) fps int(cap.get(cv2.CAP_PROP_FPS)) width int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) writer cv2.VideoWriter( output.mp4, cv2.VideoWriter_fourcc(*mp4v), fps, (width, height), ) prev_mask None frame_idx 0 while cap.isOpened(): ret, frame cap.read() if not ret: break frame_rgb cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) predictor.set_image(frame_rgb) if frame_idx 0: # 第一帧手动给一个点提示初始化目标 center (width // 2, height // 2) input_point np.array([[center[0], center[1]]]) input_label np.array([1]) masks, _, _ predictor.predict( point_coordsinput_point, point_labelsinput_label, multimask_outputTrue, ) prev_mask masks[np.argmax(_)] else: # 后续帧用上一帧掩码作为提示 masks, _, _ predictor.predict( mask_inputprev_mask, multimask_outputFalse, ) prev_mask masks[0] # 将掩码叠加到原帧上 overlay frame_rgb.copy() mask_bool prev_mask 0.5 overlay[mask_bool] (255, 0, 0) output cv2.addWeighted(frame_rgb, 0.6, overlay, 0.4, 0) writer.write(cv2.cvtColor(output, cv2.COLOR_RGB2BGR)) frame_idx 1 cap.release() writer.release()这个流程跑通之后视频里那个目标会被一帧一帧地标出来。第一帧的提示质量决定了整个视频的跟踪基础如果第一帧点偏了后续大概率会把另一物体分割进来。所以建议第一帧使用框提示把目标完整框住后续帧再延续。实际使用中视频分割最怕的是目标大幅形变或长时间出画。SAM3的记忆机制虽然能扛住一部分但如果目标在画面里消失了十几秒再出现模型很可能丢失焦点。这种情况我会手动干预在目标重新出现的那一帧重新给一个提示点把跟踪拉回来。4.2 批量推理、半精度与显存不足的应对如果你要处理的是几百张图片而不是视频那就要考虑两条事速度和显存。速度方面打开半精度是收益最高的一步。把模型转成半精度推理速度能提升明显显存占用也会下降model model.half() predictor Sam3Predictor(model)半精度下图像数据和提示坐标都要转成对应类型避免类型不匹配的报错。另一个提升速度的手段是用torch.compile对模型做编译优化但首次编译需要时间而且对显卡有一定要求建议在确认模型能跑通之后再尝试。显存不足时的应对思路很简单降低输入分辨率。在set_image之前把图片缩小是见效最快的办法。其次是换小规格模型Base档位在大部分场景下和Huge档位的分割质量差距并不大但显存友好得多。最后是逐批处理不要一次性把几百张图全塞进内存。5. 踩坑实录常见报错与排查方法5.1 报错速查表我跑模型的时候遇到过不少问题每次排查都花了不少时间。我把典型的报错现象、可能原因和解决办法整理成了下面的表格现象可能原因排查与解决CUDA out of memory模型规格过大或输入图片分辨率过高换小规格模型、缩小输入尺寸、开启半精度权重加载失败权重文件不完整或版本不匹配核对校验值、重新下载、确认权重文件名图像尺寸维度不匹配输入尺寸与模型默认尺寸差异过大将图片统一缩放至1024x1024附近视频分割中途目标跟丢目标长时间被遮挡或形变过大在目标重现帧手动重新打点torch版本报错方法不存在框架版本过旧或过新升级到项目要求的框架版本区间推理速度异常慢没有启用GPU加速确认系统已经正确加载驱动和加速库这里特别提一下“输入尺寸”问题。模型的输入尺寸如果不是训练时用的尺寸特征图大小可能对不上导致维度报错。解决办法就是在set_image之前做一次统一的resize比如image image.resize((1024, 1024))。5.2 两个容易被忽略的问题一个我在实际项目中反复踩的坑是对同一张图多次set_image。set_image会触发特征提取这个操作非常耗时。如果图片不变只需要在分割不同目标时切换提示点那就只调用一次set_image后面反复调用predict就行。另一个是掩码后处理。模型输出的掩码是float数组数值在0到1之间直接保存成图片会得到一张几乎全黑的图。必须先做阈值处理或归一化再保存成uint8格式。很多新手第一张“全黑图”都是这个原因。经验运行任何生成模型前先对输入做一次“图像尺寸、数值类型、通道数”的三项检查能避免一半以上的低级报错。6. 实测体验与个人感受6.1 效果让我惊喜的几个片段我在多张完全不同类型的图上做了测试包括街拍照片、商品白底图、复杂场景电影截图。SAM3最让我满意的是边缘处理以前用前代模型分割出的人物头发边缘经常像被狗啃过而SAM3在这类细节上的表现明显更平滑自然。小目标方面也有进步。之前分割一个几十像素大小的小物件经常漏检或只检出一半。SAM3在同样条件下能完整把目标兜住虽然置信度分数不算高但掩码形状是完整的。对做数据标注的人来說这等于减少了大量手工修补的时间。视频场景里我跑了一段约40秒的镜头目标是一个在人群中走动的人。全程没有重新打点模型一直跟到了最后中间经过了几次被旁人遮挡的情况恢复后依然能接上。这个稳定性已经达到了不少轻量级视频处理项目的使用门槛。6.2 局限与后续扩展夸完了说点不吐不快的。权重体积确实大。Huge规格的光下载就要几分钟甚至更久而且加载进显存再跑推理对机器的整体内存要求不低。如果你想把它接到轻量级移动端或浏览器端现阶段还不太现实至少需要在量化方面做一些额外工作。文本提示能力并不万能。它适合粗颗粒度的目标描述比如“画面左边的人”但一旦描述涉及颜色相近、语义接近的多个目标结果就模糊需要配合点提示去约束。我的建议是把它当辅助工具不要完全依赖。另外模型本身是通用分割模型没有针对特定领域做过专属优化。在医学影像、卫星遥感这些专业领域里直接使用效果一般需要类似领域的标注数据做二次微调才能发挥真正价值。根据我个人的实测经验如果你要在自己的项目里集成SAM3比较合理的路线是先拿它做预标注让人工审核并修正把修正后的结果作为训练数据微调一个更小更快的模型用于线上。这样既享受了SAM3的通用能力又不至于被它的推理成本绑住。最后分享一个我自己养成的小习惯每次换了新的模型版本或代码版本先在项目自带的示例脚本上完整跑一遍确认环境是好的再碰自己的数据和业务代码。这个动作帮我省下过很多“花了一小时才搞清是环境问题而非代码问题”的时间。先跑通再优化永远是处理这类模型最快的一条路。

相关新闻

SAM3图像分割模型运行指南:环境配置、代码推理与踩坑记录

SAM3图像分割模型运行指南:环境配置、代码推理与踩坑记录

圈子里这两天都在聊SAM3,其实很多人连SAM和SAM2都还没吃透,第三代就已经开始刷屏了。作为一个平时靠图像分割吃饭的人,我也第一时间找了一份样本代码跑了一遍。说实话,第一眼看到这个名号的时候,我以为又是哪个demo在蹭…

2026/10/17 4:17:03 阅读更多 →
基于STM32F765ZI与MP2642GR-Z的两节串联电池主动均衡系统设计与实现

基于STM32F765ZI与MP2642GR-Z的两节串联电池主动均衡系统设计与实现

/* 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 4:17:03 阅读更多 →
栈与队列面试全攻略:从基础原理到高频题型实战解析

栈与队列面试全攻略:从基础原理到高频题型实战解析

队列和栈,这两个听起来最基础的数据结构,往往才是面试里最容易拉开差距的地方。我之前帮人做模拟面试,十个候选人里至少有五个能在“用两个栈实现队列”上卡壳,不是不会写,而是写完之后说不清楚为什么这么设计复杂度。…

2026/10/17 4:17:03 阅读更多 →

最新新闻

机器人时维感知:时间同步、相位建模与因果推理技术解析

机器人时维感知:时间同步、相位建模与因果推理技术解析

1. 项目概述:给机器人装上“时间感知神经”的真实含义“时维感知融资数千万,给机器人造神经系统”——这个标题乍看像科幻小说封面,但拆开来看,它其实精准指向一个正在快速落地的工业级技术突破:让机器人不再只靠“此刻…

2026/10/17 5:06:18 阅读更多 →
Claude Code模板驱动实践:用CLAUDE.md与prompt模板打造高效AI编程工作流

Claude Code模板驱动实践:用CLAUDE.md与prompt模板打造高效AI编程工作流

1. 为什么我最后把Claude Code用成了模板驱动先说个真实场景。我大概是在Claude Code还比较早期的时候就开始用了,那时候的想法很简单:它就是一个能读懂代码库、能帮我改代码、能执行命令的终端助手。用了一段时间之后,我发现一个问题——每次…

2026/10/17 5:06:18 阅读更多 →
不占Codex额度:用ChatGPT普通聊天+GitHub API高效改库跑测试

不占Codex额度:用ChatGPT普通聊天+GitHub API高效改库跑测试

最近手头的开源小项目进入了密集改动期,我发现自己的Codex额度越用越心虚。改一个文件、跑一遍测试、看一下CI结果,这种“小活”要是全扔给Codex,当天额度很快就见底,真正需要它做跨文件重构的时候反而要等。后来我试了一个思路&a…

2026/10/17 5:06:18 阅读更多 →
计算机网络复习题精讲:从分层到TCP,一次搞懂知识骨架

计算机网络复习题精讲:从分层到TCP,一次搞懂知识骨架

1. 从一份复习题看计算机网络的知识骨架每年到了期末季,后台总有人问我:“计算机网络到底该怎么复习?书翻了三遍,合上还是啥也不会。”这个问题我太熟了。我带过几届学生的实验课,也帮不少朋友做过考前突击&#xff0c…

2026/10/17 5:06:18 阅读更多 →
Claude Code模板化实战:固化开发流程,打造高效AI编程助手

Claude Code模板化实战:固化开发流程,打造高效AI编程助手

拿了“claude-code-templates”这个标题,我想说的不是那种套壳的“prompt技巧列表”,而是真正能把终端里的协作行为固化成模板的工程方法。先说结论:claude-code 本身是一个在终端里和你一起写代码的助手,但裸跑它的时候&#xff…

2026/10/17 5:06:18 阅读更多 →
预测编码与反向传播:从生物合理性到深度学习的新型训练范式

预测编码与反向传播:从生物合理性到深度学习的新型训练范式

1. 从一场持续多年的争论说起:大脑真的在做反向传播吗这几年深度学习圈子里有一个话题,每隔一阵就会被翻出来吵一轮,那就是反向传播(Backpropagation)在生物大脑中是否真实存在。说实话,这个问题表面上像是…

2026/10/17 5:05:18 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →