docTR 分类模型训练指南:用 references/classification 脚本训练字符分类器与方向分类器(PyTorch)
人工智能深度学习计算机视觉OCR【免费下载链接】doctrdocTR (Document Text Recognition) - a seamless, high-performing accessible library for OCR-related tasks powered by Deep Learning. Ongoing development and maintenance by t2k.项目地址https://gitcode.com/gh_mirrors/do/doctr点击查看免费下载导读本文基于 docTRDocument Text Recognition仓库中 references/classification 目录下的官方训练脚本完整讲解如何用 PyTorch 训练两类图像分类模型字符分类器Character Classification识别单个字符属于哪个字符类别与方向分类器Orientation Classification判断文档页面或单词裁剪图被旋转了 0°、90°、180° 还是 -90°。读完本文后你将掌握从环境安装、数据组织、命令行参数含义、设备与混合精度配置到 checkpoint 管理、训练监控、ONNX 导出与 HuggingFace Hub 推送的完整实战流程并了解这些脚本在 docTR 源码层面的底层实现逻辑。一、环境准备训练脚本依赖 docTR 本体以及若干训练辅助库官方 README 给出的安装方式如下pip install -e . --upgrade pip install -r references/requirements.txt第一条命令以可编辑模式安装当前仓库根目录下的 docTR-e .指向仓库根目录的 setup.py / pyproject.toml第二条命令安装训练辅助依赖内容见 references/requirements.txt包括依赖用途tqdm训练进度条且支持通过tqdm.contrib.slack将进度推送到 Slackslack-sdkSlack 日志所需的 SDKwandb0.10.31Weights Biases 实验跟踪配合--wb使用clearml1.11.1ClearML 实验跟踪配合--clearml使用matplotlib3.1.0样本可视化与 LR 搜索曲线绘制安装完成后两个入口脚本分别位于 references/classification/train_character.py 与 references/classification/train_orientation.py。二、字符分类训练train_character.py字符分类任务的定位是为 OCR 流水线中的单个字符训练分类头可配合识别模型或独立使用。最简单的训练命令为python references/classification/train_character.py mobilenet_v3_large --epochs 5 --device 0第一个位置参数arch指定分类骨干网络例如mobilenet_v3_large--epochs 5表示训练 5 个 epoch--device 0表示使用 CUDA 设备 0设备选择规则详见下文。从源码 train_character.py 的parse_args()可以拿到完整的参数清单逐一说明如下参数默认值说明arch必填分类模型架构名如mobilenet_v3_small、resnet18、vit_s等--output_dir.checkpoint 与元数据保存目录--nameNone实验名缺省时自动生成为{arch}_{时间戳}--epochs10训练轮数-b/--batch_size64训练批量大小--device自动选择CUDA index如0、cuda:N、mps、cpu--input_size32输入尺寸模型输入为(input_size, input_size)的方形图--lr0.001Adam / AdamW 学习率--wd/--weight-decay0权重衰减AdamW 下若为 0 会自动落到1e-4-j/--workers自动DataLoader 工作进程数缺省为min(16, cpu_count)--resumeNone从指定 checkpoint 恢复权重model.from_pretrained--fontFreeMono.ttf,FreeSans.ttf,FreeSerif.ttf合成字符图像使用的字体族逗号分隔--vocabfrench训练词表取自doctr.datasets.VOCABS--train-samples1000每个字符的合成训练样本数总样本数 train_samples × vocab 长度--val-samples20每个字符的合成验证样本数--test-only关闭只跑验证循环不训练--show-samples关闭展示一批未归一化的训练样本--wb关闭启用 Weights Biases 日志--clearml关闭启用 ClearML 日志--push-to-hub关闭训练结束后推送模型到 HuggingFace Hub--pretrained关闭训练前加载 ImageNet 预训练权重--export-onnx关闭训练结束后导出 ONNX 模型--optimadam优化器可选adam/adamw--schedcosine学习率调度可选cosine/onecycle/poly--amp关闭开启自动混合精度仅 CUDA 支持--amp-dtypefloat16autocast 精度可选float16/bfloat16--find-lr关闭学习率网格搜索LR Finder--early-stop关闭启用早停--early-stop-epochs5早停耐心值patience--early-stop-delta0.01早停最小改善阈值字符分类的数据来源在线合成字符分类脚本不需要外部数据集而是使用 docTR 的CharacterGenerator在线合成单字符图像。核心逻辑在 doctr/datasets/generator/base.pysynthesize_text_img使用 PIL 以默认字号 32 渲染单个字符自动裁出字形包围盒并把单字符渲染为方形图_fonts_per_char会检查每个字体是否真的能渲染词表中的字符避免字体缺字形导致.notdef空框污染训练数据无法渲染的字符会尝试系统字体回退脚本中train_set CharacterGenerator(vocabvocab, num_samplesargs.train_samples * len(vocab), ...)见 train_character.py即总样本数为train_samples × 词表长度每个字符在其可渲染字体间轮换取样。合成之后脚本通过img_transforms施加了一整套数据增强见 train_character.pyRandomApply(T.ColorInversion(), 0.9)90% 概率反色保证样本中 90% 是白底黑字RandomGrayscale(p0.1)、RandomPhotometricDistort(p0.1)灰度化与光度扰动RandomApply(T.RandomShadow(), p0.4)随机阴影RandomApply(T.GaussianNoise(mean0, std0.1), 0.1)与RandomApply(T.GaussianBlur(sigma(0.5, 1.5)), 0.3)噪声与模糊RandomPerspective(distortion_scale0.2, p0.3)与RandomRotation(15)透视畸变与 ±15° 旋转。喂入网络前统一做Normalize(mean(0.694, 0.695, 0.693), std(0.299, 0.296, 0.301))train_character.py。词表选择--vocab参数取值来自 doctr/datasets/vocabs.py 的VOCABS字典例如latin数字 ASCII 字母 标点englishlatin 基础上加°与货币符号frenchenglish 基础上再叠加法语变音字符àâéèêëîïôùûüç...这也是默认值此外还有german、spanish、portuguese、chinese、japanese、korean、cyrillic等数十种语言词表可供选择。分类模型的输出类别数等于len(vocab)类别顺序即词表字符顺序源码classification.__dict__args.arch, classeslist(vocab))。三、方向分类训练train_orientation.py方向分类器解决的是 OCR 前处理中的文档旋转校正问题输入可能是整页文档图像page也可能是单词裁剪图crop模型输出四类旋转角度[0, -90, 180, 90]见 train_orientation.py 的CLASSES常量。典型命令python references/classification/train_orientation.py resnet18 --type page \ --train_path path/to/your/train_set --val_path path/to/your/val_set --epochs 5--type为必填参数只能取page文档整页或crop单词裁剪图并直接决定输入尺寸input_size (512, 512) if args.type page else (256, 256)见 train_orientation.py。与字符分类不同方向分类必须提供真实图片数据--train_path与--val_path为必填参数分别指向训练/验证图片文件夹。脚本内部使用doctr.datasets.OrientationDataset实现见 doctr/datasets/orientation.py读取文件夹内全部图片初始目标统一记为 0°。旋转标签的在线生成训练/验证时脚本通过sample_transforms中的rnd_rotate函数train_orientation.py为每张图动态生成旋转标签先从CLASSES [0, -90, 180, 90]中随机选一个基准角度以 50% 概率叠加一个从-25°到25°步长 5°的随机微调模拟真实扫描中并非精确旋转的情况用torchvision.transforms.functional.rotate执行旋转并填充背景。因此模型学到的是对大致属于某类角度的鲁棒判别而非对精确角度的记忆。方向分类训练同样带有一套增强ColorInversion 0.1、GaussianNoise、RandomShadow 0.2、GaussianBlur 0.3、RandomPhotometricDistort、RandomGrayscale、RandomPerspective 等见 train_orientation.py并先做Resize(input_size, preserve_aspect_ratioTrue, symmetric_padTrue)等比缩放 对称填充。注意方向分类脚本默认--batch_size 2比字符分类的 64 小得多原因是 page 类型的输入是 512×512 的大图。四、数据目录格式两个脚本对用户数据的组织方式非常宽容只要给到图片文件夹路径即可。官方 README 给出的目录结构为images ├── sample_img_01.png ├── sample_img_02.png ├── sample_img_03.png └── ...对方向分类--train_path/--val_path指向这样的图片目录脚本内部读取os.path.join(path, images)子目录见 train_orientation.py 与 train_orientation.py字符分类则完全无需外部数据。五、设备选择与混合精度设备解析规则--device支持多种写法CUDA 索引如0、cuda:N、mpsApple Silicon GPU或cpu。设备解析逻辑在 references/classification/utils.py 的resolve_device()中实现不传该参数时脚本按CUDA → MPS → CPU的顺序自动选择可用设备传入纯数字索引时若 CUDA 不可用或索引越界会直接报错在分布式训练torchrun场景下该参数会被忽略每个进程自动使用自己的 GPU。另外当设备为 CUDA 时脚本会开启torch.backends.cudnn.benchmark True以加速卷积train_character.py。自动混合精度AMP--amp开启自动混合精度仅支持 CUDA源码在非 CUDA 设备上开启--amp会抛出ValueError(--amp (automatic mixed precision) is only supported on CUDA devices)--amp-dtype可选float16默认或bfloat16。官方 README 特别说明bfloat16 适用于 Ampere 或更新的 GPU它拥有与 float32 相同的指数范围因此无需 loss scaling也能避免 float16 在某些损失函数中出现的上溢问题。对应源码实现amp_dtype()utils.py把字符串映射为torch.bfloat16/torch.float16_autocast()与_scaler()train_character.py中GradScaler仅在float16时启用bfloat16时自动禁用。官方 README 给出了两个针对性示例# Apple Silicon: 开启回退让 MPS 缺失的少数算子回落到 CPU 执行 PYTORCH_ENABLE_MPS_FALLBACK1 python references/classification/train_character.py mobilenet_v3_small --epochs 5 --device mps # NVIDIA GPU bfloat16 混合精度 python references/classification/train_character.py mobilenet_v3_small --epochs 5 --device 0 --amp --amp-dtype bfloat16六、Checkpoint 与运行元数据每次训练会产出两类文件均保存在--output_dir文件名以实验名exp_name为前缀权重文件exp_name.pt由save_checkpoint()utils.py通过torch.save(model.state_dict(), ...)保存。注意训练循环只在验证损失下降时才覆盖保存if val_loss min_loss见 train_character.py因此目录下始终是当前最优权重。元数据文件exp_name.json由save_run_metadata()utils.py每次运行只写一次而非随每个 checkpoint 重复写。元数据由run_metadata()utils.py生成内容包括官方 README 所述的全部要素架构名与任务设置classes/vocab_name使用本地数据时数据集的哈希值docTR 版本doctr.__version__与 PyTorch 版本torch.__version__Git revisiongit rev-parse HEAD获取失败时为None本次运行的全部命令行参数dict(vars(args))。这份 JSON 的价值在于它记录了重建模型与复现训练所需的全部信息即使事后忘了当初怎么训练的也能据此还原出可推理的模型。七、训练监控tqdm、Slack、WB 与 ClearML进度条与 Slack 推送训练循环统一使用 tqdm 进度条train_character.py。如果同时设置了以下两个环境变量进度条会切换到tqdm.contrib.slack把训练信息直接推送到 Slack 频道TQDM_SLACK_TOKENSlack Bot TokenTQDM_SLACK_CHANNEL在 Slack 频道上右键 → Copy → Copy link可得到形如https://xxxxxx.slack.com/archives/yyyyyyyy的链接只需保留最后的yyyyyyyy部分作为频道 ID。脚本中还会对 tqdm 的write方法做 monkey patch让进度消息直接通过 Slack API 发送train_character.py。WB 与 ClearML传入--wb时脚本调用wandb.init(nameexp_name, projectcharacter-classification)初始化实验并记录每步的train_loss_step/val_loss_step/step_lr以及每 epoch的train_loss/val_loss/learning_rate/acctrain_character.py传入--clearml时使用 ClearMLTaskLogger.report_scalar记录相同指标项目名为docTR/character-classification方向分类脚本为docTR/orientation-classification。八、进阶选项LR Finder、早停与调度器脚本内置了若干训练技巧开关均源自 train_character.pyLR Finder--find-lrrecord_lr()从1e-7到1指数增长地网格搜索学习率plot_recorder()utils.py以对数横轴绘制学习率-损失曲线并做 EMA 平滑帮助你确定合适的学习率区间。该实现改编自 Holocron 训练器。早停--early-stop配合--early-stop-epochs默认 5与--early-stop-delta默认 0.01使用EarlyStopperutils.py在验证损失连续patience个 epoch 未能比历史最优降低超过min_delta时终止训练。优化器与调度器--optim可选adambetas(0.95, 0.999), eps1e-6或adamwbetas(0.9, 0.999)weight_decay 缺省 1e-4--sched可选cosineCosineAnnealingLReta_minlr/25e4、onecycleOneCycleLR或polyPolynomialLR三者均按epochs × len(train_loader)的总步数调度。九、可用骨干架构与推理入口可训练的架构清单分类脚本的arch位置参数从doctr.models.classification命名空间取模型完整清单见 doctr/models/classification/zoo.py 的ARCHS包括magc_resnet31、mobilenet_v3_small/large含_r变体、resnet18/31/34/50、resnet34_wide、textnet_tiny/small/base、vgg16_bn_r、vit_s/b、vip_tiny/base、vit_det_s/m、starnet_s3等。官方 README 示例中字符分类用mobilenet_v3_large、方向分类用resnet18。方向分类另有两条专门预训练入口同为分类骨干见 zoo.py 的ORIENTATION_ARCHScrop_orientation_predictor(archmobilenet_v3_small_crop_orientation)处理单词裁剪图默认batch_size128page_orientation_predictor(archmobilenet_v3_small_page_orientation)处理整页默认batch_size4。两者均在PreProcessor中使用preserve_aspect_ratioTrue, symmetric_padTrue预处理输入尺寸与训练脚本的(256,256)/(512,512)对应。训练后的自定义模型可类比这两个入口在推理阶段用相同预处理加载权重。训练后导出与共享两个训练脚本都支持--test-only仅加载模型跑验证循环并打印Validation loss (Acc: ...)--show-samples可视化一批未归一化的增强样本plot_samplesutils.py--export-onnx训练结束后用export_model_to_onnx导出 ONNX 模型train_character.py--push-to-hub训练结束后通过push_to_hf_hub(model, exp_name, taskclassification, run_configargs)推送到 HuggingFace Hub需要先执行login_to_hub()登录--resume checkpoint用model.from_pretrained()恢复权重继续训练。十、性能基准测试latency.pyreferences/classification/latency.py 提供了分类模型的延迟基准脚本随机生成(batch_size, 3, size, size)的输入先做 10 次 warmup再运行--it默认 100次计时输出平均与标准差延迟毫秒。典型用法python references/classification/latency.py mobilenet_v3_small --size 32 --batch-size 64 --gpu --it 100 --pretrained--gpu在 CUDA:0 上评测否则回落到 CPU--pretrained加载模型库预训练权重。该脚本有助于在训练前后快速评估不同架构的推理成本为部署选型提供依据。十一、完整参数速查需要查看任意脚本的完整帮助时官方 README 建议直接使用python references/classification/train_character.py --help python references/classification/train_orientation.py --help由于脚本使用argparse.ArgumentDefaultsHelpFormatter--help输出会附带每个参数的默认值是查询参数语义最权威的途径。小结docTR 的 references/classification 目录提供了两套开箱即用的 PyTorch 分类训练管线字符分类完全基于字体在线合成数据无需外部数据集方向分类基于真实图片 在线旋转标签增强两者共享同一套设备解析、混合精度、checkpoint 元数据、实验跟踪与模型导出机制。配合 doctr/models/classification/zoo.py 中十余种骨干架构开发者可以快速训练出面向自己语种、版式或扫描质量的定制分类模型再通过 ONNX 导出或 HuggingFace Hub 推送接入生产推理链路。赞分享人工智能深度学习计算机视觉OCR【免费下载链接】doctrdocTR (Document Text Recognition) - a seamless, high-performing accessible library for OCR-related tasks powered by Deep Learning. Ongoing development and maintenance by t2k.项目地址https://gitcode.com/gh_mirrors/do/doctr点击查看免费下载相关推荐视频分类模型训练指南用Ludwig实现分类训练视频分类模型训练指南用Ludwig实现分类训练 1. 视频分类的技术挑战与解决方案 你是否在构建视频分类系统时面临以下痛点标注数据不足导致模型泛化能力差复人工智能深度学习机器学习大模型预训练微调LoRA多模态NLP计算机视觉模型推理服务PaddleOCR文本方向分类模型配置与训练指南PaddleOCR文本方向分类模型配置与训练指南 文本方向分类模型现状分析 PaddleOCR项目中提供的文本方向分类功能主要用于识别文本行的方向0度、90度人工智能计算机视觉OCR深度学习大模型RAGccv ConvNet 深度卷积网络指南从 ImageNet 预训练模型分类到自训练图像分类器ccv ConvNet 深度卷积网络指南从 ImageNet 预训练模型分类到自训练图像分类器 ccvC based/Cached/Core Compute计算机视觉深度学习上一篇如何构建自定义nfs-subdir-external-provisioner镜像完整构建流程详解下一篇Nav2路径规划器对比SMAC、Theta*、NavFn哪个更适合你的应用场景创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

基于人脸表情识别的课堂行为检测实战:从数据到专注度评分

基于人脸表情识别的课堂行为检测实战:从数据到专注度评分

/* 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:38:06 阅读更多 →
工业级电源路径保护:TPS259483+dsPIC33主动防护方案

工业级电源路径保护:TPS259483+dsPIC33主动防护方案

/* 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:38:29 阅读更多 →
Linux入门(六)软件安装与jar包、war包部署

Linux入门(六)软件安装与jar包、war包部署

文章目录1.rpm2.解压缩包3.yum在线安装Linux安装软件方式有三种:分别是rpm、解压缩、yum在线安装。 1.rpm 以jdk的安装配置并运行jar包为演示 Spring Boot 在 Linux 上启动慢,多半是 /etc/hosts 没配本机主机名,导致 Java 解析主…

2026/10/14 4:02:29 阅读更多 →

最新新闻

软件工程建模实战:从习题答案反推UML解题逻辑链

软件工程建模实战:从习题答案反推UML解题逻辑链

简介:本资源是《软件工程实用案例教程》(梁洁、金兰编著)配套的完整参考答案PDF,面向高校软件工程专业本科生、考研复习者及初入行的开发工程师,旨在帮助学习者系统掌握软件工程核心概念、过程模型与设计方法&#xff…

2026/10/15 9:38:33 阅读更多 →
Dell Win10双系统启动修复:UEFI+Secure Boot下BCD重建实战

Dell Win10双系统启动修复:UEFI+Secure Boot下BCD重建实战

1. 项目概述:一次双系统安装引发的启动灾难,以及它教会我的全部“dell Win10利用easyBCD装ubuntu双系统误删了Win10启动项,修复笔记”——这个标题不是技术文档的摘要,而是一份带着焦灼感的现场手记。它背后站着一个刚把笔记本拆开…

2026/10/15 9:38:33 阅读更多 →
Sheet-to-Doc自定义文件名:从原理到实操,批量合同生成不再乱

Sheet-to-Doc自定义文件名:从原理到实操,批量合同生成不再乱

上周帮一个做外贸的朋友处理批量合同生成,他整理了两百多行的客户订单表,一开始的习惯是逐个“另存为”,两小时下来眼睛都花了。后来我们改用带自定义文件名功能的 Sheet-to-Doc 转换方式,十分钟把两百多份合同全部生成完毕&#…

2026/10/15 9:38:33 阅读更多 →
创业股权分配中的权责平衡与动态调整策略

创业股权分配中的权责平衡与动态调整策略

1. 股权分配中的权责陷阱解析"权责不对等"这个坑,我见过太多创业团队踩进去了。最典型的场景就是:技术合伙人拿了30%股份却要承担80%的研发压力,市场合伙人占股20%却整天见不到人影。这种结构性失衡往往在创业蜜月期被忽视&#xf…

2026/10/15 9:38:33 阅读更多 →
RAG图文PDF解析:OCR与多模态协同的工程实践

RAG图文PDF解析:OCR与多模态协同的工程实践

1. 为什么“图文与PDF解析”是RAG落地的第一道生死线我去年帮三家做金融合规知识库的客户搭RAG系统,上线前测试阶段全部卡在同一个环节:上传一份带表格和手写批注的监管检查报告PDF,系统返回的文本要么全是乱码,要么表格内容错位成…

2026/10/15 9:38:33 阅读更多 →
Java抽象类与接口:核心概念与实战应用解析

Java抽象类与接口:核心概念与实战应用解析

1. 抽象类与接口的核心概念解析在面向对象编程中,抽象类和接口是两种重要的抽象机制。它们都用于定义规范和行为约束,但在使用场景和实现方式上存在显著差异。抽象类(Abstract Class)是不能被实例化的类,它通过abstrac…

2026/10/15 9:37:32 阅读更多 →

日新闻

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/14 7:53:34 阅读更多 →