发布时间:2026/8/23 11:07:47
DINOv3 目录结构与训练入口完整走读:如何从一份 YAML 跑到一次预训练任务 DINOv3 目录结构与训练入口完整走读如何从一份 YAML 跑到一次预训练任务【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3DINOv3 是 Meta AI 的自监督视觉基础模型官方 PyTorch 实现覆盖 ViT-S/16 到 67 亿参数的 ViT-7B/16 骨干。本文不逐目录罗列而跟着一次训练任务走先看每个目录的职责再串起「YAML → 配置 → 数据 → 模型 → 损失」的完整动线最后给出一条最短可跑通的路径。DINOv3 布局速览每个目录一句话代码全部收在dinov3/顶层包内包外只有hubconf.py、conda.yaml、notebooks/等辅助文件。主干结构dinov3/ ├── configs/ # YAML 配方 OmegaConf 合并逻辑config.py ├── data/ # 数据集、DINO 增强、mask 生成、多分辨率 DataLoader ├── models/ # ViT / ConvNeXt 骨干与 build_model 工厂 ├── layers/ # 组件件attention、FFN、RoPE、DINO head、fp8 ├── loss/ # DINO、iBOT、Gram、KoLeo 四个损失文件 ├── train/ # 训练主循环与 SSLMetaArch / MultiDistillationMetaArch ├── eval/ # 六个下游评估linear、knn、depth、detection、segmentation、text ├── hub/ # torch.hub 本地加载入口 ├── fsdp/ distributed/ checkpointer/ # FSDP 分片、进程组封装、断点存/恢复 └── run/ # submitit 作业提交submit.py一句话概括分工configs/是输入data/、models/、loss/是训练的三样原料train/是调度方eval/是一群互相独立的评估程序。下面按一次训练的真实动线把前四块串起来。配置是怎么拼出来的入口在train/train.py的main()它只认三类输入--config-file、--output-dir、以及命令尾部keyvalue形式的覆盖项。合并逻辑在configs/config.py核心就四行cfg OmegaConf.load(args.config_file) default_cfg get_default_config() # ssl_default_config.yaml OmegaConf.set_struct(default_cfg, True) cfg OmegaConf.merge(default_cfg, cfg, opts_cfg)三层叠加ssl_default_config.yaml206 行提供 dino、ibot、gram、crops、train 的全部默认值配方 YAML 负责改差量命令行覆盖项最后生效。注意setup_config会先把合并结果原样 dump 到output_dir/config.yaml再按scaling_rule调整学习率如linear_wrt_256按 world size 线性缩放——也就是说实际生效的配置永远能在输出目录里找到。多蒸馏场景另有setup_multidistillation一次启动按 rank 区间切出学生子组每个子组加载各自的配方文件。一个 batch 是怎么被造出来的模型建好后do_train调用build_multi_resolution_data_loader_from_cfg对crops里的每种分辨率deepcopy一份配置各建一个 DataLoader再用data/meta_loaders.py的CombinedDataLoader按global_local_crop_pairs_ratios比例交错取样。变换链由data/augmentations.py的DataAugmentationDINO提供teacher 全局裁剪、student 局部裁剪、Gram 视图iBOT 的掩码由data/masking.py的MaskingGenerator生成并直接挂进 collate 函数——collate_data_and_cast顺手完成 bf16 转换。所以模型拿到的每个 batch裁剪、mask、dtype 都已由数据层定死train.py里不写任何样本级逻辑。模型和损失在哪里models/__init__.py的build_model用vits.__dict__[args.arch]按名字实例化 student 与 teacherattention 块、FFN、RoPE 位置编码、DINO head 拆在layers/的独立文件里。main()里模型先在torch.device(meta)上实例化再经prepare_for_distributed_training完成 FSDP 分布实现在fsdp/进程组封装在distributed/。损失是loss/下四个独立文件dino_clstoken_loss.py、ibot_patch_loss.py、gram_loss.py、koleo_loss.py由train/ssl_meta_arch.py的SSLMetaArch把 student、EMA teacher 和四个损失接成完整前向。每个迭代结束按checkpointing.period触发存盘存、恢复、保留最近 N 份都封装在checkpointer/。其余目录各管什么目录职责eval/linear.py、eval/knn.py、eval/log_regression.py冻结骨干的三种分类评估各自带main()eval/depth/、eval/detection/、eval/segmentation/DPT 深度头、DETR 检测器、linear / Mask2Former 分割各自带run.py与configs/eval/text/独立的 DINO-Txt 训练线视觉 文本双塔hub/ 根目录hubconf.py预训练权重加载入口backbones、classifiers、segmentors 等thirdparty/CLIP/vendored 的 CLIP tokenizer供eval/text使用run/submit.pysubmitit 封装提交 Slurm 作业notebooks/CHMv2 推理、分割跟踪等使用示例最小上手路径改哪个文件、跑哪条命令改dinov3/configs/train/vitl_im1k_lin834.yaml全文 143 行把train.dataset_path指向你的数据调train.batch_size_per_gpu把output_dir换成可写路径。跑 README 给出的官方形态命令PYTHONPATH${PWD} python -m dinov3.run.submit dinov3/train/train.py \ --config-file dinov3/configs/train/vitl_im1k_lin834.yaml \ --output-dir ./dinov3_local_run两个坑要先知道submit.py面向 Slurm 设计output_dir缺省是共享存储的%j目录单机必须显式传--output-dirREADME 也注明不走run.submit时可用 python 或 torchrun 直接起脚本。只想加载预训练骨干的话入口是根目录hubconf.py配合hub/backbones.py权重需按 README 指引申请获取。两个设计取舍目录为什么长成这样配方 YAML 名差量、实全量。合并逻辑支持纯差量写法但vitl_im1k_lin834.yaml实际把 dino、ibot、crops 等默认值里已有的大块又声明了一遍——自包含但冗余。好处是每个配方不用对照默认值就能读懂代价是改一个全局默认可能要动十几份 YAMLset_struct严格模式正是为堵住拼错键名这种事故才加的。eval 是一组并列的小项目。eval/下每个任务都有自己的configs/、run.py、schedulers.py、utils.py文件名与顶层自监督训练循环大量重名。这保证了各下游评估可独立复现、各带配方但新人很难判断哪个入口是「官方」的——事实上eval/depth/run.py和eval/linear.py是平级关系都是独立程序README 逐条列出启动命令了事。另外配方注释4 nodes、0.57s/iter说明这套代码面向数百卡集群本机调试第一件事是把 batch size 和OFFICIAL_EPOCH_LENGTH降下来否则学习率与动量 schedule 会失真。接下来可以做什么想动损失或增强从loss/的四个文件和data/augmentations.py下手想接新数据集顺着data/loaders.py的make_dataset解析逻辑和data/datasets/里的注册方式加即可。【免费下载链接】dinov3Reference PyTorch implementation and models for DINOv3项目地址: https://gitcode.com/GitHub_Trending/di/dinov3创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/23 11:07:47

RLHF Book 指南:如何从零训出第一个 RLHF 对齐模型?

RLHF Book 指南:如何从零训出第一个 RLHF 对齐模型? 【免费下载链接】rlhf-book Textbook on reinforcement learning from human feedback 项目地址: https://gitcode.com/gh_mirrors/rl/rlhf-book RLHF Book 是一本开源的大语言模型 RLHF&#…

2026/8/23 12:02:52

AI代理如何学会选择性技能调用:双粒度偏好学习实践

1. 项目概述:当AI代理学会“挑活儿”最近在折腾AI代理(Agent)系统时,我遇到了一个挺有意思的瓶颈。我们给代理装备了一大堆“技能”(Skill),比如调用API、分析数据、生成报告,希望它…

2026/8/23 12:02:52

Cohere S1-mini本地部署实战:基于Transformers与FastAPI构建私有化AI服务

在实际 AI 应用开发中,直接调用云端大模型 API 虽然方便,但面临成本、延迟、数据隐私和网络依赖等多重挑战。将模型部署在本地环境,成为许多团队在特定场景下的核心需求。Cohere 作为知名的 AI 公司,其推出的 S1-mini 模型是一个轻…

2026/8/23 12:02:51

三步搞定在线视频下载:浏览器资源嗅探完全指南

三步搞定在线视频下载:浏览器资源嗅探完全指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你在网页上看了一段三分钟的短片&#x…

2026/8/23 0:02:04

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:02:04

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:02:04

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/23 0:02:04

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/23 0:02:04

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/23 0:02:04

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/21 15:40:01

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/23 6:14:43

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/23 4:22:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…