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),仅供参考

相关新闻

SynthSeg:任意对比度、任意分辨率的脑部MRI分割,如何做到免重训直接出结果?

SynthSeg:任意对比度、任意分辨率的脑部MRI分割,如何做到免重训直接出结果?

SynthSeg:任意对比度、任意分辨率的脑部MRI分割,如何做到免重训直接出结果? 【免费下载链接】SynthSeg Contrast-agnostic segmentation of MRI scans 项目地址: https://gitcode.com/gh_mirrors/sy/SynthSeg 处理脑部MRI时&#xff0…

2026/8/24 16:01:49 阅读更多 →
WeChatMsg:3 分钟把微信聊天记录导出成文档,还能生成年度报告

WeChatMsg:3 分钟把微信聊天记录导出成文档,还能生成年度报告

WeChatMsg:3 分钟把微信聊天记录导出成文档,还能生成年度报告 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub…

2026/8/24 14:47:58 阅读更多 →
Obsidian中文社区新人入门指南:提问、交流与插件讨论快速上手

Obsidian中文社区新人入门指南:提问、交流与插件讨论快速上手

Obsidian中文社区新人入门指南:提问、交流与插件讨论快速上手 【免费下载链接】forum Obsidian中文社区 项目地址: https://gitcode.com/gh_mirrors/forum69/forum 刚入坑 Obsidian 的人大概都遇到过这种情况:插件报错看不懂英文提示词、快捷键失…

2026/8/23 11:06:28 阅读更多 →

最新新闻

一键激活Windows与Office,10分钟完成全部流程

一键激活Windows与Office,10分钟完成全部流程

一键激活Windows与Office,10分钟完成全部流程 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 屏幕右下角的激活水印挂了两周,Word 里的保存和排版按钮全是灰色。你试过找…

2026/8/24 16:02:08 阅读更多 →
QuickBMS 游戏资源提取指南:任意存档包,一条命令搞定

QuickBMS 游戏资源提取指南:任意存档包,一条命令搞定

QuickBMS 游戏资源提取指南:任意存档包,一条命令搞定 【免费下载链接】QuickBMS QuickBMS by aluigi - Github Mirror 项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS 你下载的游戏资源包打不开?专用提取器只认某一款游戏&a…

2026/8/24 16:02:08 阅读更多 →
IDM 试用期重置完整指南:三步突破注册表权限壁垒,免费恢复30天试用

IDM 试用期重置完整指南:三步突破注册表权限壁垒,免费恢复30天试用

IDM 试用期重置完整指南:三步突破注册表权限壁垒,免费恢复30天试用 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset 当你第三次看到"试用期已过期"的…

2026/8/24 16:02:08 阅读更多 →
基于LLM与Whisper的本地化AI字幕翻译工具链实践

基于LLM与Whisper的本地化AI字幕翻译工具链实践

这次我们来看一个本地部署的 AI 字幕翻译工具链实践。项目本身是一个名为“科学冒险队Tansar5 1979”的视频,但核心价值在于其配套的“DeepSeek英转中文字幕”工作流程。这背后涉及的不是单一软件,而是一套将英文视频或SRT字幕文件,通过大语言…

2026/8/24 16:02:08 阅读更多 →
Unlock Music 实操指南:在浏览器里用 5 分钟完成加密音乐文件解密

Unlock Music 实操指南:在浏览器里用 5 分钟完成加密音乐文件解密

Unlock Music 实操指南:在浏览器里用 5 分钟完成加密音乐文件解密 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目…

2026/8/24 16:02:08 阅读更多 →
基于大语言模型的AI字幕翻译实践:从SRT处理到本地化工作流

基于大语言模型的AI字幕翻译实践:从SRT处理到本地化工作流

这次我们来看一个将经典动画《万能战士无比敌》(无敌侠)1980版进行AI字幕翻译的项目。这个项目的核心不是开发新模型,而是利用DeepSeek这类大语言模型的能力,对已有的英文字幕文件进行高质量、风格化的中文翻译,最终生…

2026/8/24 16:01:08 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力;确需渲染 HTML 时,先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述:Windows登录密码的“黑匣子”每次你按下CtrlAltDel,输入密码,然后看到那个熟悉的桌面,这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者,我经常被问到:“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述:AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时,遇到一个典型案例:候选人在视频面试中无意提到竞争对手产品名称,系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

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

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

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

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

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

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

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

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

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

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/24 11:20:22 阅读更多 →