VinVL 在 MMF 中的集成实践:视觉区域特征、数据集包装与微调全流程
多模态人工智能深度学习NLP计算机视觉预训练【免费下载链接】mmfA modular framework for vision language multimodal research from Facebook AI Research (FAIR)项目地址https://gitcode.com/gh_mirrors/mm/mmf点击查看免费下载导读VinVL 是微软提出的视觉-语言预训练模型其核心贡献在于重新审视了**图像区域特征image region features**在视觉-语言VL模型中的关键作用——通过更强的目标检测表征显著提升下游 VL 任务表现。MMF 仓库完整集成了 VinVL 的 PyTorch 实现源自 microsoft/Oscar 代码库并提供了从特征提取、数据集包装到训练/微调的整套工具链。阅读本文后你将掌握VinVL 在 MMF 中的模型结构与数据流原理、如何用 MMF 脚本为任意图像目录提取 VinVL 特征、如何借助vinvl数据集包装器在任意数据集上做微调与预训练以及两条可直接运行的训练命令。一、VinVL 是什么模型背景与论文定位VinVL论文标题VinVL: Revisiting Visual Representations in Vision-Language ModelsZhang, P. 等人CVPR 2021的核心理念是在视觉-语言模型中视觉表征的质量比模型架构本身更能决定最终性能。VinVL 使用基于 Visual GenomeVG目标检测标签训练出的属性感知检测器AttrRCNN来提取图像区域特征再将这些特征与 BERT 文本编码融合完成预训练与下游微调。在 MMF 中VinVL 模型的 PyTorch 实现最初发布在 microsoft/Oscar 仓库随后被移植进 MMF作为独立的vinvl模型注册。使用时请引用以下两篇论文Zhang, P., Li, X., Hu, X., Yang, J., Zhang, L., Wang, L., ... Gao, J. (2021).VinVL: Revisiting visual representations in vision-language models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 5579-5588).Li, X., Yin, X., Li, C., Hu, X., Zhang, P., Zhang, L., Wang, L., Hu, H., Dong, L., Wei, F., Choi, Y., Gao, J. (2020).Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks. ECCV 2020.对应的 BibTeX 条目也完整保留在仓库文档 website/docs/projects/vinvl.md 中可直接复制引用。二、安装环境VinVL 模型的运行依赖 MMF 框架本身及其 BERT/Transformer 相关组件。安装方式与 MMF 通用安装流程一致请参考仓库内的安装指南 website/docs/getting_started/installation.mdx 完成环境配置。需要特别注意的是特征提取脚本依赖微软的scene_graph_benchmarkAttrRCNN代码库需要单独克隆并安装详见下文特征提取一节模型代码对transformers库做了兼容处理优先尝试transformers3.modeling_bert失败则回退到transformers.modeling_bert见 mmf/models/vinvl.py请确保安装的 transformers 版本满足要求。三、核心特性用更好的视觉表征喂饱 VL 模型VinVL 的主要贡献在于证明了图像区域特征对 VL 模型性能的巨大影响。在 MMF 中使用 VinVL 特征有两条路径3.1 路径一下载预提取特征并重映射如果目标数据集是热门数据集如 COCO、VQA2可以直接下载官方预提取的 VinVL 特征然后将它们重映射remapping到 MMF 数据集格式。这种方式的优点是不需要本地跑检测模型开箱即用。3.2 路径二用 MMF 脚本并行提取特征对于任意图像目录可以运行 MMF 自带的特征提取脚本 tools/scripts/features/extract_features_vinvl.pypython mmf/tools/scripts/features/extract_features_vinvl.py \ --model_name X-152-C4 \ --image_dir /path/to/image/directory \ --output_folder /path/to/output该脚本基于 scene-graph-benchmark 仓库的tools/demo/demo_image.py改造而来对应 commit8e14944oscar/vinvl 仓库版本4788a74其核心流程如下自动下载检测模型与配置脚本内置了X-152-C4模型的下载地址见 tools/scripts/features/extract_features_vinvl.py也可通过--model_file/--config_file指定本地权重构建 AttrRCNN 检测模型通过AttrRCNN(cfg)加载权重开启MODEL.ATTRIBUTE_ON、TEST.OUTPUT_FEATURE、TEST.OUTPUT_RELATION_FEATURE等配置输出 region 的类别、置信度、box 特征与关系特征见 tools/scripts/features/extract_features_vinvl.py批量推理将--batch_size张图像组成 image list 送入模型默认每张图提取--num_features100个区域特征特征归一化与落盘_norm_box将 bbox 归一化到 [0,1] 区间并拼接宽高差随后将box_features与归一化 bbox 拼接torch.cat([box_features, bbox], dim1)见 tools/scripts/features/extract_features_vinvl.py最终每个区域特征维度为20542048 视觉特征 6 维 bbox 信息这正是 VinVL 模型默认img_feature_dim2054的来源。每个图像输出name.npy特征与name_info.npy图像信息含 labels、attr_labels、bbox 等字段。脚本常用参数参数默认值说明--model_nameX-152-C4使用的检测模型--model_file/--config_fileNone指定本地权重与配置覆盖 model_name--image_dir必填图像目录或单个图像文件--output_folder./output特征输出目录--batch_size2推理批大小--num_features100每张图提取的区域特征数--start_index/--end_index0/None支持分片处理--exclude_list./list排除文件列表每行一个图像名--background关闭是否输出背景类预测提取完成后将 mmf/configs/datasets/ 下对应数据集的defaults.yaml中features路径指向新特征目录即可。例如 VQA2 的配置位于 mmf/configs/datasets/vqa2/defaults.yaml把features.train/val/test指向 VinVL 特征即可。更详细的分步教程可参考仓库文档 website/docs/tutorials/image_feature_extraction_vinvl.md。四、VinVL 数据集为任意数据集注入标签与属性信号4.1 设计动机VinVL 在微调finetuning和预训练pretraining阶段需要通用数据集不支持的独特输入目标检测标签文本、属性文本以及用于 3-way 对比损失的随机负样本。MMF 的解法是引入一个名为vinvl的数据集包装器——它本身不包含新图像或新文本而是在已有数据集称为 base dataset之上做样本增强。例如base dataset 是 VQA2普通情况下返回样本{image, text}而 VinVL 数据集请求一个样本时会返回{image, text, rand_caption, rand_label}其中text text labels原始问题文本拼接上该图的目标检测标签/属性文本rand_caption从数据集中随机抽取的另一个样本的文本用作对比学习的负样本候选rand_label随机样本的目标检测标签文本。4.2 使用前提与假设VinVL 数据集对 base dataset 和配置有以下硬性假设见 mmf/datasets/builders/vinvl/dataset.pybase dataset 返回的样本中包含字符串键text数据集配置中存在label_map的 JSON 文件路径该 JSON 包含idx_to_attribute与idx_to_label两个映射VinVL OD 使用 VG 标签映射文件为VG-SGG-dicts-vgoi6-clipped.json可从 VinVL model zoo 获取配置文件中的示例路径见 mmf/configs/datasets/vinvl/defaults.yamlfeatures_db指向由 VinVL 特征提取脚本生成的特征。4.3 底层实现Builder 与 Dataset 的协作模式从源码结构看vinvl的实现采用了一种新设计模式来解决处理器无法访问数据库的问题VinVLBuildermmf/datasets/builders/vinvl/builder.pyload()方法会实例化两个数据集——先根据base_dataset_name从 registry 获取 base dataset 的 builder 并构建 base dataset 实例然后将 VinVL 配置中的text_processorvinvl_text_tokenizer与label_map写回 base 配置最后调用vinvl_dataset.set_base_dataset(base_dataset)完成包装VinVLDatasetmmf/datasets/builders/vinvl/dataset.pyload_item(idx)先让 base dataset 加载原始样本再构造text_processor的输入参数{text, text_b, random_captions, random_labels}其中text_b由get_label_str()生成——它读取样本image_info_0中的labels与attr_labels字段通过idx_to_label和idx_to_attribute映射拼成标签字符串见 mmf/datasets/builders/vinvl/dataset.py。注意add_tags标志在测试集test下为 False即测试阶段不注入标签与随机负样本避免评测被污染。五、配置文件全解从数据集到模型5.1 数据集配置MMF 为 VinVL 提供了开箱即用的数据集配置 mmf/configs/datasets/vinvl/defaults.yaml它通过includes引入 VQA2 的默认配置作为 base datasetincludes: - ../vqa2/defaults.yaml dataset_config: vinvl: base_dataset_name: vqa2 label_map: /private/home/ryanjiang/winoground/pretrained_models/VG-SGG-dicts-vgoi6-clipped.json base_dataset: ${dataset_config.vqa2} processors: text_processor: type: vinvl_text_tokenizer params: mask_probability: 0关键字段字段说明base_dataset_namebase dataset 的注册名用于在 registry 中查找其 builderlabel_map含idx_to_attribute/idx_to_label的 JSON 路径base_datasetbase dataset 的完整 YAML 配置这里用${dataset_config.vqa2}引用processors.text_processor必须为vinvl_text_tokenizer其参数继承自 MaskedTokenProcessor 的配置模式5.2 文本处理器VinVLTextTokenizervinvl_text_tokenizer是 VinVL 专用的文本处理器注册名为vinvl_text_tokenizer见 mmf/datasets/processors/bert_processors.py它在 MaskedTokenProcessor 的基础上增加了双句拼接通过get_pair_text_tokens将text问题与text_b标签文本以[CLS] A [SEP] B [SEP]形式拼接见 mmf/datasets/processors/bert_processors.pyMLM 掩码mask_probability控制随机[MASK]替换概率输出input_ids_masked与lm_label_ids供 MLM 头使用对比学习输入当corrupt_probability 0时从random_captions/random_labels中按corrupt_caption_probability构造损坏样本输出input_ids_corrupt、input_mask_corrupt、segment_ids_corrupt与contrastive_label3 分类0匹配1损坏文本2损坏标签见 mmf/datasets/processors/bert_processors.py。若不使用对比损失将corrupt_probability设为 0 即可。常用参数from_pretrained默认bert-base-uncased、max_seq_length默认 70、mask_probability默认 0、corrupt_probability默认 0。5.3 模型配置模型默认配置位于 mmf/configs/models/vinvl/defaults.yamlmodel_config: vinvl: heads: test: type: mlp freeze: false lr_multiplier: 1.0 in_dim: 768 hidden_size: 1536 num_labels: 3129 pooler_name: bert_pooler bert_model_name: bert-base-uncased img_feature_dim: 2054 img_feature_type: frcnn use_img_layernorm: 1 img_layer_norm_eps: 1e-12 max_img_seq_len: 70与源码中VinVL.Config数据类mmf/models/vinvl.py一一对应配置项默认值源码含义bert_model_namebert-base-uncased基础 BERT 权重用于初始化文本侧与预训练img_feature_dim2054图像特征维度2048 视觉特征 6 维 bboximg_feature_typefrcnn特征类型标识use_img_layernormTrue图像嵌入投影后是否加 LayerNormimg_layer_norm_eps1e-12图像 LayerNorm 的 epsilonmax_img_seq_len70最大图像区域序列长度do_pretrainingFalse切换分类微调 / 预训练两种构建路径5.4 完整训练配置示例VQA2 的完整训练配置在 projects/vinvl/configs/vqa2/defaults.yaml要点model_config: vinvl: do_pretraining: false heads: vqa2: type: mlp num_labels: 3129 dataset_config: vinvl: base_dataset_name: vqa2 processors: text_processor: type: vinvl_text_tokenizer params: from_pretrained: bert-base-uncased corrupt_probability: 0 tokenizer_config: type: bert-base-uncased params: do_lower_case: true mask_probability: 0 training: clip_gradients: false lr_scheduler: true max_updates: 44000 checkpoint_interval: 4000 evaluation_interval: 4000 batch_size: 256 # 32 per GPU * 8 GPU find_unused_parameters: false log_interval: 1000 optimizer: type: adam_w params: lr: 1e-4 eps: 1e-8 weight_decay: 1e-2 scheduler: type: warmup_cosine params: num_warmup_steps: 4400 num_training_steps: ${training.max_updates} evaluation: metrics: - type: vqa_accuracy datasets: - vqa2要点解读do_pretraining: false表示走分类微调路径heads.vqa2配置 MLP 分类头num_labels: 3129对应 VQA2 的答案类别数corrupt_probability: 0表示微调阶段不启用对比学习负采样训练采用 AdamW warmup cosine 调度共 44000 步更新batch size 2568 卡 × 32评估指标为 VQA 准确率。六、训练与微调实战6.1 从零训练完成特征提取并重定向数据集配置后在 VQA2.0 上从头训练 VinVLmmf_run configprojects/vinvl/configs/vqa2/defaults.yaml run_typetrain datasetvinvl modelvinvl6.2 微调预训练模型从 MMF 模型动物园加载预训练权重并微调mmf_run configprojects/vinvl/configs/vqa2/defaults.yaml run_typetrain datasetvinvl modelvinvl checkpoint.resume_zoovinvl.pretrainedcheckpoint.resume_zoovinvl.pretrained会从模型动物园 mmf/configs/zoo/models.yaml 拉取vinvl.pretrained资源版本1.0_2020_11_29。动物园中还提供了vinvl.finetuned.coco_irCOCO 图像检索微调权重可作为对照。七、源码级原理模型如何消费这些特征7.1 VinVLBaseBERT 编码器的视觉化包装VinVLBasemmf/models/vinvl.py是 VinVL 的核心骨干本质是对BertEncoder的薄包装额外处理图像特征输入图像嵌入投影nn.Linear(img_dim, hidden_size)将 2054 维区域特征投影到 BERT hidden size768可选叠加 LayerNorm 与 Dropoutuse_img_layernorm序列拼接embedding_output torch.cat((text_embedding_output, img_embedding_output), 1)将文本与图像特征拼接成一个序列送入 BERT encoder——这正是文本 图像区域联合建模的关键一步掩码扩展_get_attention_maskmmf/models/vinvl.py将文本 padding mask 与图像有效区域 mask由image_info.max_features生成拼接保证注意力只作用在真实 token 与有效区域上。从测试用例 tests/models/test_vinvl.py 可以看到当img_feature_dim2054、batch 8 时输出张量形状为[8, 95, 768]95 25 文本 token 70 图像区域。7.2 双模式分类微调与预训练VinVL模型类mmf/models/vinvl.py根据do_pretraining构建两种子模型VinVLForClassificationVinVLBase MLP 分类头交叉熵损失forward输出scores与losses.ceVinVLForPretrainingVinVLBaseMLM 头ThreeWayContrastive 头。MLM 头负责掩码语言建模对文本 token 计算 masked LM loss图像位置标签置 -1ThreeWayContrastive 头做 3-way 对比分类——0 表示图文匹配、1 表示文本被损坏、2 表示标签被损坏见 mmf/models/vinvl.py。预训练前向需要同时提供input_ids_maskedMLM 用与input_ids_corrupt对比用。测试 tests/models/test_vinvl.py 验证了预训练前向会同时产出masked_lm_loss与three_way_contrastive_loss。7.3 一条完整的推荐链路综合上述内容在 MMF 中使用 VinVL 的推荐流程为用 tools/scripts/features/extract_features_vinvl.py 为目标图像集提取 2054 维区域特征修改 mmf/configs/datasets/ 下对应数据集的defaults.yaml将features指向新特征目录以vinvl为 dataset 名底层由 mmf/datasets/builders/vinvl/builder.py 完成对 base dataset 的包装配置label_map与vinvl_text_tokenizer运行mmf_run进行从头训练或checkpoint.resume_zoovinvl.pretrained微调。八、测试与验证仓库为 VinVL 提供了较完整的单元测试可作为验证环境与理解行为的参考tests/models/test_vinvl.py覆盖VinVLBase前向输出形状、分类前向含ce损失、预训练前向含masked_lm_loss与three_way_contrastive_loss、以及通过配置构建VinVL模型的全流程tests/datasets/test_bert_processors.py覆盖vinvl_text_tokenizer的 tokenization、MLM 掩码输出、corrupt_probability0时无 corrupt 字段等行为。这些测试同时印证了前文对配置字段、输入张量结构与损失组成的描述读者可据此快速搭建自己的 VinVL 实验。赞分享多模态人工智能深度学习NLP计算机视觉预训练【免费下载链接】mmfA modular framework for vision language multimodal research from Facebook AI Research (FAIR)项目地址https://gitcode.com/gh_mirrors/mm/mmf点击查看免费下载相关推荐为什么OCR总是认错字uvdoc-npu昇腾NPU文档图像矫正模型完全入门指南为什么OCR总是认错字uvdoc npu昇腾NPU文档图像矫正模型完全入门指南 uvdoc npu 是一个可以直接在华为昇腾 NPU 上运行的 文档图像矫正模人工智能计算机视觉图像处理OCRAscendMMF 中的 ViLT 模型无卷积与区域监督的视觉语言 Transformer 训练与微调实战MMF 中的 ViLT 模型无卷积与区域监督的视觉语言 Transformer 训练与微调实战 ViLTVision and Language Transf多模态人工智能深度学习NLP计算机视觉预训练Windows Precision Touchpad 驱动终极指南让苹果触控板在 Windows 上原生级工作Windows Precision Touchpad 驱动终极指南让苹果触控板在 Windows 上原生级工作 你是否曾在 Windows 系统中使用苹果 M驱动开发系统底层硬件开发上一篇揭秘Feather图标库核心团队分享开源项目的愿景与未来规划下一篇REA 中的 JavaScript/Electron 应用工件分析从 ASAR 静态重建到版本与导出形状对比创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ALIEN 内置文档查看器 Markdown 格式参考:章节组织、渲染规则与锚点机制

ALIEN 内置文档查看器 Markdown 格式参考:章节组织、渲染规则与锚点机制

人工智能科学计算高性能计算物理引擎图形学 【免费下载链接】alien ALIEN is a CUDA-powered artificial life simulation program. 项目地址: https://gitcode.com/gh_mirrors/al/alien 点击查看 免费下载 本文是 ALIEN(CUDA 加速的人工生命模拟器&…

2026/10/12 1:31:49 阅读更多 →
Rocq/Coq 新证明引擎深度解析:基于 Proofview 单子 API 的 ML 战术编写指南

Rocq/Coq 新证明引擎深度解析:基于 Proofview 单子 API 的 ML 战术编写指南

形式化验证编程语言 【免费下载链接】coq The Rocq Prover is an interactive theorem prover, or proof assistant. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interacti…

2026/10/12 1:31:49 阅读更多 →
无需 MCP 服务器:在 Claude Project 中用 Python 指令让 Claude 生成 draw.io 图解链接

无需 MCP 服务器:在 Claude Project 中用 Python 指令让 Claude 生成 draw.io 图解链接

AI 应用MCP 服务交互助手 【免费下载链接】drawio-mcp 项目地址: https://gitcode.com/gh_mirrors/dr/drawio-mcp 点击查看 免费下载 本指南讲解 drawio-mcp 仓库中一条「零安装」的替代集成路线:把项目指令(Project Instructions&#xff0…

2026/10/12 1:31:49 阅读更多 →

最新新闻

【大数据毕设项目】基于K-Means的低能见度事件预测模型与可视化分析系统\基于数据挖掘的站间同步低能现象分析与可视化研究

【大数据毕设项目】基于K-Means的低能见度事件预测模型与可视化分析系统\基于数据挖掘的站间同步低能现象分析与可视化研究

文章目录 一、项目开发背景意义 二、项目开发技术 三、项目开发内容 四、项目展示 五、项目相关代码 六、最后 一、项目开发背景意义 随着气象监测技术的快速发展,气象领域积累了海量的多源观测数据。低能见度事件对航海、航空以及陆地交通的安全运行构成严重…

2026/10/12 2:25:23 阅读更多 →
【C++ 入门】从 C 过渡到 C++:基础语法与核心特性入门

【C++ 入门】从 C 过渡到 C++:基础语法与核心特性入门

目录 1.C的第一个程序 2.命名空间namespace 一、为什么有namespace ​二、namespace的特性 特性1:命名空间可以拆分,追加定义 特性2:命名空间可以嵌套 特性3:匿名命名空间(无名字namespace) 特性4&…

2026/10/12 2:25:23 阅读更多 →
题解:洛谷 P10112 [GESP202312 八级] 奖品分配

题解:洛谷 P10112 [GESP202312 八级] 奖品分配

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…

2026/10/12 2:25:23 阅读更多 →
如何把 Windows 11 任务栏移到左侧(官方快捷方法)

如何把 Windows 11 任务栏移到左侧(官方快捷方法)

Windows 11 面世已久,早已融入百万用户的日常,帮他们打理各种计算需求;只不过它重新设计的任务栏图标把开始菜单摆到了正中间,打破了 Windows 延续 25 年的传统。如果你想把任务栏挪回左侧、放回它该在的地方,好消息是:微软内置了一个官方设置,改起来大约 15 秒。 不过…

2026/10/12 2:25:22 阅读更多 →
题解:洛谷 P1118 [USACO06FEB] Backward Digit Sums G/S

题解:洛谷 P1118 [USACO06FEB] Backward Digit Sums G/S

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…

2026/10/12 2:25:22 阅读更多 →
【深度学习新浪潮】Meta Muse 智能体:它是什么?有哪些特点?为什么突然火了?

【深度学习新浪潮】Meta Muse 智能体:它是什么?有哪些特点?为什么突然火了?

1. 引言 近期,Meta Muse 智能体在 AI 领域引发广泛关注,开发者、创作者与科技从业者纷纷展开讨论。许多初次接触者不禁疑惑:这是 Meta 推出的又一款大模型?抑或仅是蹭热度的 AI 玩具? 事实并非如此。Meta Muse 是 Meta 在 AI 智能体方向的一次战略性布局,它并非简单的对…

2026/10/12 2:24:22 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →