边缘AI模型部署实战:量化剪枝蒸馏与Python推理优化
去年接手一个智能门锁项目时我们被一个很现实的问题逼到墙角云端人脸识别模型推理平均要 300ms但把网络往返、协议解析、排队等待全部算上门锁从触发到真正响应往往超过 1.5 秒。更崩溃的是门店路由器一抖动整把锁就成了摆设所有用户卡在门口。后来我们下定决心把识别模型搬到设备端用 Python 写部署逻辑配合整套轻量级模型优化策略端到端延迟压到了 150ms 以内断网也能正常开锁。这中间踩过不少坑也沉淀出一套可复制的方法论就是这篇文章想聊的内容边缘 AI 新范式到底怎么落地Python 在边缘侧扮演什么角色模型部署和优化究竟该按什么顺序做才能既保住精度又压住资源。如果你正在做边缘设备上的图像识别、语音唤醒、传感数据分析或者只是好奇一个几十 MB 的模型怎么塞进小盒子里还跑得飞快这篇实战笔记应该能帮上忙。我不会去复述文档里的 API只讲我们在真实设备上验证过的思路、参数和教训。1. 边缘部署的第一道坎模型大小直接等于成本很多团队的惯性思维是先把模型在服务器上训好然后随手转成某种格式丢到设备上。结果设备跑起来不是内存不足就是发热严重再不然就是推理慢到无法接受。问题的源头往往不在推理框架而在模型体积和设备的资源画像错配。1.1 边缘设备的真实资源画像边缘端常见的设备大致分三类设备层级典型代表内存算力适合模型MCU 级单片机、嵌入式 Cortex-MKB 到几十 MB极低二进制模型、微模型入门级 Linux树莓派、各类盒子1GB~4GB中低轻量 CNN、MobileNet 级别中高性能板卡Jetson、边缘服务器4GB~16GB中高较大模型 量化加速我们门锁设备用的是入门级 Linux 板卡2GB 内存四核 ARM CPU没有独立 NPU。这种配置在边缘设备里非常典型看起来比 MCU 强但跑一个原始的 MobileNetV3 都容易吃满 CPU。很多人会忽略Python 解释器本身就要吃掉约 20~30MB 内存再加上推理框架、模型权重、输入输出缓冲留给系统的余量非常小。你在服务器上free 显示 64GB根本感觉不到问题到设备上 2GB 内存就变得寸土寸金。1.2 模型体积与成本的数学账模型体积对硬件成本有直接的杠杆效应。假设一个模型从 40MB 压缩到 10MB内存带宽压力降低 4 倍处理器的 L2 Cache 可以更容易命中整体推理能耗也会明显下降。对量产设备来说如果模型优化做得好可能从必须配 4GB 内存变成2GB 就够一颗核心板的价格差距经常在 30% 以上。我们给门锁项目算过一笔账如果保持原始模型板卡必须升级到 4GB 版本单台硬件成本增加约 80 元而通过量化把模型从 45MB 压到 12MB原来的 2GB 板卡照常工作还省掉了散热片。量产一万台光硬件成本就省了接近 80 万。这还不算因为功耗降低而减少的故障率。所以边缘部署的第一原则不是追求 SOTA 精度而是用尽可能小的模型达成业务最低精度要求。模型大小不仅是技术指标更是直接的成本指标。1.3 从能跑到跑得动的思维转变服务器部署验证的是这个模型能不能跑通边缘部署验证的是这个模型在 24 小时运行、高温环境、频繁唤醒的条件下能不能稳定跑完。这是完全不同的心态。举个例子我们在实验室用 PC 跑 ONNX 模型一切正常。上设备之后发现只要同时开启摄像头和推理线程内存峰值就会撞上限额导致系统直接 OOM。后来加了内存池复用、输入缩放、推理线程优先级调整才稳定下来。这种问题是服务器场景几乎不会碰到的但在边缘侧非常普遍。建议所有做边缘部署的同学先给目标设备画一个资源预算表总内存多少、目标模型占用多少、推理框架线程栈多少、系统基础服务占多少。预算表做完了再动手选模型和推理方案思路会清晰很多。2. Python 在边缘侧的角色既当指挥家又当翻译官一说到边缘部署很多人第一反应是必须用 CPython 性能不行、内存又大不适合边缘。这个观点有对的部分但容易误导初学者。实际上 Python 在边缘侧完全可以扮演好指挥家和翻译官的角色关键看你怎么用。2.1 性能焦虑Python 真的拖后腿吗先做个测试用 ONNX Runtime 在树莓派上跑一个量化后的 MobileNetV2输入大小 224x224。Python 脚本的单次推理延迟大约 85ms其中预处理图像缩放、归一化占 25ms推理只占 60ms。如果你用 C 写同样的逻辑推理时间还是 60ms预处理可能降到 15ms。差异主要来自图像缩放这种数据操作而不是模型计算本身。也就是说当模型推理耗时远大于 Python 调度开销时Python 并不构成瓶颈。但对于毫秒级的小模型Python 的调用开销、GIL 竞争、内存拷贝就会变得扎眼。所以能不能用 Python取决于模型在设备上的绝对延迟量级。我们门锁项目用的是人脸识别模型量化后单帧推理约 55ms加上 Python 的大数组拷贝整体延迟 140ms完全满足业务需求。这时候非要用 C 重写开发周期至少翻倍收益却只有十几毫秒不划算。2.2 推理框架的绑定层让 Python 调用 C 引擎Python 性能不是魔法关键在于它是否把重活交给了 C/C 引擎。目前主流的边缘推理框架比如 ONNX Runtime、TensorFlow Lite、OpenVINO都提供 Python API底层核心是高效的 C 实现。Python 只负责组织数据结构、调用接口、处理输入输出。这就好比 Python 是一个餐厅经理真正炒菜的大厨是 C。经理要做的不是自己去颠勺而是合理安排服务员传菜、决定先做哪桌保证整体流程顺畅。如果你把菜切好、配料备齐也就是数据预处理做到位后厨自然出菜快。2.3 用 Python 做边缘部署的三个合理姿势根据我们多个项目的经验Python 在边缘侧的合理用法可以总结为三条用 Python 做主流程编排负责读取摄像头帧、调度模型推理、把结果上报。这是一种胶水职责逻辑清晰且容易维护。用 Python 调用高性能推理库所有计算密集部分都放进推理框架不要自己在 Python 里写循环卷积之类的代码。用 Python 做自动化压测和监控边缘设备需要长时间稳定性验证Python 写脚本做数据采集、日志分析、异常报警生产效率远高于 C。只要确认推理引擎是 C 底层Python 外壳基本不会带来严重性能损失。真正会导致性能崩盘的往往是自己写的低效 Python 数据预处理——图像循环缩放、逐像素操作这些都是反模式。3. 模型瘦身三板斧量化、剪枝、蒸馏的取舍逻辑轻量级模型部署离不开模型压缩。压缩方法很多但核心思路只有两条减少存储/计算的位宽需求或者减少模型本身的参数/结构冗余。3.1 量化从 FP32 压到 INT8 的代价量化是目前最常用的手段也是性价比最高的。它的本质是把模型权重和激活值从 32 位浮点近似成 8 位整数从而把模型大小压缩到原来的四分之一推理速度提升 2~3 倍内存占用也同步下降。我们门锁项目做后量化Post-Training Quantization时人脸特征提取模型从 45MB 压到 12MB精度下降了大约 1.2 个百分点。对于人脸识别任务来说阈值稍微调整一下业务影响可以忽略。但要注意量化并非无损尤其是对敏感的小目标检测、文本识别类任务精度掉 2% 可能就无法接受。有一种常见误区量化的目的是为了 让模型能跑在 NPU 上但其实在 CPU 上 INT8 同样有用。ARM CPU 的 NEON 指令对 INT8 计算有很好支持ONNX Runtime 的 INT8 内核能明显降低延迟。所以只要精度允许优先量化。3.2 剪枝砍掉不重要的连接剪枝的思路是去掉模型中接近零的权重或贡献不大的通道让网络更稀疏。结构化剪枝按通道剪比非结构化剪枝按单个权重剪更利于实际加速因为通道剪完后网络结构变窄推理框架可以直接受益非结构化剪枝产生的稀疏矩阵在普通 CPU 上很难获得真实加速除非底层有稀疏计算优化。剪枝的典型流程是训练一个较大的模型按通道重要性排序砍掉冗余通道微调恢复精度再迭代。这个过程比较吃训练资源适合有 GPU 环境和训练经验团队。如果只是做部署直接用现成的轻量网络MobileNet、EfficientNet-Lite往往更省事不用自己剪。3.3 蒸馏让大模型当老师蒸馏是让一个小的学生模型去模仿大模型的输出概率。相比直接用真实标签训练小模型蒸馏可以让小模型学到大模型在边界样本上的模糊判断精度通常更高。蒸馏很适合边缘部署的原因在于你可以保留大模型的精度优势把知识压缩进小模型里。比如用 200MB 的模型蒸馏出 20MB 的学生模型在精度上往往会比直接训练一个 20MB 的模型好不少。3.4 怎么组合起来用我们实践下来的推荐顺序是先蒸馏再量化最后按需剪枝。蒸馏得到的是更紧凑的模型结构量化把紧凑变成轻量剪枝用于硬件资源极度受限的情况或者在量化后精度不足时提供一点额外压缩。业务精度要求高、硬件卡得死时可以采用蒸馏 量化组合。业务精度一般、追求最快开发效率直接训练一个小模型再量化就够。不要一上来就三件套全上每一步都会损失一点精度叠起来可能很难收敛。4. 把 Python 代码跑在边缘设备上ONNX Runtime 部署全流程从 PyTorch 或 TensorFlow 训练出的模型要落到边缘设备需要先转换成 ONNX 格式再由 ONNX Runtime 加载推理。这一节我们用一个简化版的人脸检测模型移植过程来拆解。4.1 转换 ONNX 需要注意的坑用 PyTorch 导出 ONNX 通常调用torch.onnx.export看起来简单但有几个隐蔽问题dynamic_axes必须处理如果模型输入是固定 224x224当然可以用静态形状但你要是希望同一个模型适配不同分辨率就必须设置动态轴。边缘部署推荐先用固定分辨率调试更容易性能也更稳定。opset_version别乱设旧版本 ONNX 算子集可能缺少某些新算子导致加载失败。我们一般选opset_version12兼容性较好。Batch 维度去掉在边缘设备上每次推理一张图导出时固定 batch1 即可没必要保留动态 batch会降低引擎做图优化的空间。转换完成后用onnxruntime加载测一次确保输出和原模型一致。这一步不要跳过因为 ONNX 转换偶尔会引入算子兼容问题。4.2 编写一个最小的推理脚本以下代码是一个完整的 ONNX Runtime 推理流程假设模型输入是 1x3x224x224 的 RGB 图像输出是 1x2 的分类结果import numpy as np import cv2 import onnxruntime as ort # 读取模型并创建推理会话 session ort.InferenceSession(face_model.onnx, providers[CPUExecutionProvider]) # 读取输入图像并进行预处理 image cv2.imread(test.jpg) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) image cv2.resize(image, (224, 224)) # 转为 CHW 并归一化到 [0,1] input_data np.transpose(image, (2, 0, 1)).astype(np.float32) / 255.0 # 增加 batch 维 input_data np.expand_dims(input_data, axis0) # 获取模型输入输出名 input_name session.get_inputs()[0].name output_name session.get_outputs()[0].name # 推理 results session.run([output_name], {input_name: input_data}) print(prediction:, np.argmax(results[0]))这段代码在 PC 上可以跑通但如果直接拿到边缘设备上大概率会踩一个性能坑session.run每次都会复制输入数据而且预处理里的cvtColor和resize会各自占一块临时内存。设备内存紧张时要优化为直接读取uint8数据输入或者用推理框架内置的预处理算子。4.3 让推理引擎更听话的 Session 配置ONNX Runtime 的 Session 并不是默认配置就是最优。我们常用的配置如下session_options ort.SessionOptions() session_options.intra_op_num_threads 4 # 并行线程数 session_options.inter_op_num_threads 1 # 操作间线程数 session_options.execution_mode ort.ExecutionMode.ORT_SEQUENTIAL session_options.graph_optimization_level ort.GraphOptimizationLevel.ORT_ENABLE_ALL session_options.enable_mem_pattern True session ort.InferenceSession( face_model.onnx, sess_optionssession_options, providers[CPUExecutionProvider] )线程数不是越大越好。在四核设备上intra_op_num_threads4往往比 8 快因为线程切换和缓存争用会抵消计算收益。graph_optimization_level设为ORT_ENABLE_ALL可以让引擎做算子融合比如把 Conv BatchNorm ReLU 合并成一个节点减少内存访问。这在边缘设备上有 15%~20% 的延迟收益。5. 从跑通到跑快边缘推理的几步关键调优模型能跑通只是第一步。真正决定体验的是延迟、吞吐、稳定性和功耗。这一节讲几个在边缘设备上被验证过的调优手段。5.1 线程数与延迟的微妙关系用 ONNX Runtime 在四核 ARM 上跑 INT8 模型线程数从 1 调到 4延迟会从 120ms 降到 65ms继续调到 8延迟反而可能回升到 90ms。这是因为双核超线程或者过大的线程组导致 CPU 资源争抢同时系统其他进程也会受影响。我们的做法是先用一个压测脚本遍历intra_op_num_threads1,2,4,6,8每个跑 1000 次取 P50 和 P99 延迟找到最优点。不要凭经验拍脑袋不同设备的最优线程数可能不同尤其是 ARM 大小核架构。5.2 输入数据的预处理优化大多数 Python 部署脚本的预处理是重灾区。以摄像头帧为例原始分辨率 1280x720你需要缩放、颜色转换、格式转换、归一化。逐层处理会带来大量数据拷贝。一个典型优化是把缩放和颜色转换合并直接在 cv2 的warpAffine或裁剪后一次性输出模型输入格式另一个优化是复用一个内存缓冲区避免每次np.asarray产生新对象。我们在项目里改成让摄像头直接输出 JPEG 小图降低分辨率到 480p再解码缩放预处理耗时从 35ms 降到 12ms。这样看似损失了画质实际对识别结果影响很小延迟却立竿见影。5.3 硬件加速从 CPU 到 NPU 的跳板板卡如果有 NPU比如瑞芯微的 RKNN、地平线的 BPU、Jetson 的 TensorRT就可以把部分算子卸载到 NPU。Python 侧一般通过对应的板级 SDK 调用比如 RKNN Toolkit 的 Python API或者 ONNX Runtime 的 NPU 执行提供者。注意不是所有模型都适合跑 NPU。NPU 对算子支持有限制像动态形状、某些自定义算子都可能无法编译。我们在迁移过程中就发现一个 Softmax 加上一个自定义后处理算子会导致 CPU 来回切换反而比纯 CPU 更慢。所以硬件加速前一定要先做算子兼容性分析用 profiler 看 CPU 和加速器的负载比。5.4 延迟稳定性P99 比平均延迟更重要边缘场景里用户体验常常取决于最慢的那一次而不是平均速度。平均延迟 80ms但偶发 250ms 的卡顿会让人感觉系统非常不稳定。优化时我们专门盯 P99连续推理 1000 次排在第 990 位的延迟是多少。导致 P99 飙升的常见原因包括内存未复用、SD 卡 IO 抖动、后台服务争抢 CPU、温控降频。我们通过设置 TCP 线程优先级、限制日志写入频率、把模型常驻内存把 P99 从 320ms 压到 190ms虽然平均延迟只降了 10ms但主观流畅度提升明显。6. 实战复盘一个门锁模型的边缘化改造最后用我们门锁项目的完整过程作为复盘把前面所有知识点串起来。这个项目足够典型也足够让后来者少踩几次坑。6.1 原始模型与改造目标原始模型是一个基于 ResNet18 的人脸特征提取模型输出 128 维特征向量大约 45MB。最初对接方式是手机请求云端服务云端返回比对结果。产品目标是离线开锁设备端处理整个识别流程。改造重点就是把模型从云端搬到板端并保证识别准确率不低于原方案 96%。6.2 量化过程中的精度保卫战我们用蒸馏方案先把 ResNet18 蒸馏到一个 MobileNetV2 结构精度从 97.2% 降到 96.8%接着做 INT8 量化又降到 95.9%。这个结果低于目标原本计划放弃量化但后来调整了蒸馏参数——把教师模型的 logits 温度调高一点再让教师模型在更难样本上生成软标签学生模型精度回到了 96.4%。最后量化落点精度 96.1%勉强达标。这个经历说明量化导致的精度损失可以在前期通过改进蒸馏来补偿。不要一上来就问INT8 会不会掉点关键在于上游的模型训练有没有为量化留出余量。6.3 最终效果与遗留问题改造完成后单次特征提取在四核 ARM 上耗时 58ms加上人脸检测、对齐、特征比对整个流程端到端开锁时间 460ms包括摄像头取帧 200ms比最初 1.5 秒提高了近三倍。关闭 Wi-Fi 后设备完全离线工作销量和售后问题反而减少了。遗留问题主要是低光照下的人脸检测率下降后续我们在摄像头端加了红外补光灯在硬件层面解决了。这让我们意识到边缘 AI 从来不只是软件问题经常要一并考虑传感器、环境光照和算力的系统工程。现在回想起来整个项目里最值钱的不是某一个模型压缩技巧而是先定资源预算再做模型选型最后做推理优化的顺序。很多人拿到边缘项目就急着写推理代码结果反复返工。先把预算一算把量化和蒸馏留好位置后面就会发现道路顺畅得多。

相关新闻

AI写作如何降低AIGC检测率?从检测原理到实测技巧

AI写作如何降低AIGC检测率?从检测原理到实测技巧

说个挺真实的现象:如果你自己动手写过一段时间的东西,再拿去投给某个AI检测平台,大概率会得到一个让你火冒三丈的结果——明明每个字都是自己敲的,却被标成“疑似AI生成”。反过来,拿一段纯AI生成的文章丢进去&#xf…

2026/10/17 4:37:12 阅读更多 →
AI识别岩石破裂前兆:从信号处理到物理可解释预警

AI识别岩石破裂前兆:从信号处理到物理可解释预警

1. 这不是“预测地震”,而是用AI识别岩石破裂的微弱前兆信号“AETA地震预测AI算法大赛”这个标题,第一眼容易让人误以为是直接输出“某地将在X月X日发生6.0级地震”的终极答案。但作为连续三年参与AETA数据集分析的从业者,我必须先说清楚&…

2026/10/17 4:37:12 阅读更多 →
AI编码代理安全攻防:从SSO绕过到RCE的完整攻击链与防御加固

AI编码代理安全攻防:从SSO绕过到RCE的完整攻击链与防御加固

1. 事件还原:一个标题背后的真实攻防逻辑先把标题拆开看。“离谱,OpenAI被Opus 5黑了!”这句话里其实藏着三层信息:第一层是攻击者身份,Opus 5 是 Anthropic 家 Claude 系列里的旗舰模型代号;第二层是受害者…

2026/10/17 4:37:12 阅读更多 →

最新新闻

Claude Code模板化实战:把项目约定固化,让AI编程助手真正懂你

Claude Code模板化实战:把项目约定固化,让AI编程助手真正懂你

项目标题往那摆,说白了就是一句话的事儿:Claude Code 的真正效率,不在于你问得多细,而在于你给它的模板有多靠谱。今年 Claude Code 这类命令行 AI 编程工具火了之后,最容易被忽略的就是“模板化”这件事。很多人拿到 …

2026/10/17 5:23:24 阅读更多 →
金智维入选WISE2025商业之王:企业级RPA数字员工如何实现精度与效率双提升

金智维入选WISE2025商业之王:企业级RPA数字员工如何实现精度与效率双提升

金智维入选“WISE2025商业之王”年度企业,这件事在自动化圈子里这几天的讨论度确实不低。很多人问我怎么看,我的标准一直很简单:不只看它拿了什么奖,而是看这个奖背后的评判维度,是不是真的踩中了企业自动化的命门。按…

2026/10/17 5:23:24 阅读更多 →
让Claude Code懂你的项目:CLAUDE.md、斜杠命令与工作流全解析

让Claude Code懂你的项目:CLAUDE.md、斜杠命令与工作流全解析

用过Claude Code的朋友应该都有体会:刚上手那阵子特别爽,随手问一句它就能翻代码、改文件、提提交,感觉像开了挂。但用上一周、两周之后,问题就来了——它总是重复问你已经回答过的问题,总是不按你仓库里的目录习惯找文…

2026/10/17 5:23:24 阅读更多 →
Claude Code模板库实战:打造可复用的AI编程工作流

Claude Code模板库实战:打造可复用的AI编程工作流

一个多月前,我把分散在多个仓库里的 Claude Code 配置、斜杠命令和项目记忆文件整理成了一个 claude-code-templates 模板库。原本只是想解决自己来回复制粘贴的问题,没想到它对团队协作的帮助更大。这篇文章就把这套模板的设计思路、具体内容和落地过程…

2026/10/17 5:23:24 阅读更多 →
分类模型与评估指标实战:从混淆矩阵到阈值选择

分类模型与评估指标实战:从混淆矩阵到阈值选择

做算法这几年,我招过不少人,也带过不少新人。大家第一次接触项目时,问得最多的往往不是某个公式怎么推,而是“这批数据到底能上什么模型”。每次听到这个问题,我都会先把话题引到另一边:你想用它判断什么&a…

2026/10/17 5:23:24 阅读更多 →
Claude Code模板实战:CLAUDE.md、自定义命令与hooks全解析

Claude Code模板实战:CLAUDE.md、自定义命令与hooks全解析

1. 先把这个标题拆明白看到“claude-code-templates”这个项目名,估计大部分人都能猜个大概:这是给Claude Code用的模板集合。但真正用过Claude Code的人会知道,模板这两个字背后藏的东西远比想象中多——它不是简单的几段提示词,…

2026/10/17 5:22:24 阅读更多 →

日新闻

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 阅读更多 →