ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DINOv2 预训练模型配置指南:位置编码、输入尺寸与通道适配 3 个坑一次讲清

DINOv2 预训练模型配置指南:位置编码、输入尺寸与通道适配 3 个坑一次讲清 DINOv2 预训练模型配置指南位置编码、输入尺寸与通道适配 3 个坑一次讲清【免费下载链接】dinov2PyTorch code and models for the DINOv2 self-supervised learning method.项目地址: https://gitcode.com/GitHub_Trending/di/dinov2DINOv2 是 Meta 推出的自监督视觉 Transformer 预训练框架提供 ViT-S/B/L/g 四档在 LVD-142M 上预训练的权重。多数配置问题出在拿权重的姿势上先看一条真实报错你用img_size224搭了个模型再加载dinov2_vitb14_pretrain.pthload_state_dict立刻抛错RuntimeError: size mismatch for pos_embed: copying a param with shape torch.Size([1, 1370, 768]) from checkpoint, the shape in current model is torch.Size([1, 197, 768]).下面按报错现象 → 根因 → 对策把 1370 与 197 的来龙去脉、位置编码插值、多通道适配一次讲清。为什么 pos_embed 是 1370 维518、14 与 1369 的对应关系结论先行所有 DINOv2 预训练权重都在 518×518 输入、patch 14 下训练hub 加载入口的默认参数就是img_size518, patch_size14照默认值构建即可对上。1370 的算法518 ÷ 14 37即 37×37 1369 个 patch token再加 1 个 CLS token得 1370 个 token。ViT-B 的嵌入维度是 768所以pos_embed形状为 [1, 1370, 768]。而 224×224 只有 16×16 256 个 patch加 CLS 是 257按 224/patch14 的旧 ViT 习惯则是 1961197取决于 patch 大小与权重对不上——这就是报错里 1370 vs 197 的由来。import torch model torch.hub.load(facebookresearch/dinov2, dinov2_vitb14) print(model.pos_embed.shape) # torch.Size([1, 1370, 768]) print(model.patch_embed.num_patches) # 1369非 518 输入时位置编码如何插值现象改成 224×224 输入后要么直接报错、要么特征质量下滑。原因权重中的位置编码是按 37×37 网格训的换尺寸后 token 网格对不上。对策模型内置 interpolate_pos_encoding 会自动把 patch 位置编码做双三次bicubic插值到新网格前提只有一个——输入边长必须是 patch 大小 14 的整数倍224、252、448 都合法225 会崩。带寄存器registers的_reg系列还会开启antialiasTrue并将interpolate_offset从 0.1 置为 0.0这是加载_reg权重时不能省的两项构建参数。实操建议显存够就保持 518×518紧张时用 224×224 走内置插值不要自己改pos_embed。多通道细胞图像的通道适配怎么配现象4/5 通道的细胞荧光图像喂给in_chans3的模型patch 卷积核形状768×3×14×14直接不匹配硬拼回 3 通道则信息有损、下游指标下滑。原因DINOv2 的patch_embed是固定输入通道数的卷积权重与通道数一一绑定不能事后换。对策本仓库的 ChannelAdaptive-DINO 采用 bag of channels 方案——训练配置 里 student 与 teacher 均设in_chans: 1、channel_adaptive: true每个通道独立走一遍 ViT 再做通道级融合从结构上绕开通道数绑定问题。评估侧linear.py记得带--bag-of-channels参数保持一致。图ChannelAdaptive-DINO 的通道自适应架构与在不同形态学原型上的表现对比细胞数据预训练与线性评估的完整配置以 HPA-FoV 单细胞数据集预训练 ViT-L/16 为例官方口径4 台 A100-80GB 节点共 32 卡约 2 天训完教师权重每 12500 步存到eval目录。关键超参来自上述 yaml全局裁剪 224缩放 0.4–1.0、8 个 96 像素局部裁剪缩放 0.005–0.4、momentum_teacher: 0.996、base_lr: 5.0e-4、400 epochs 配 20 轮 warmup、每卡 batch 16。python dinov2/run/train/train.py \ --nodes 4 \ --config-file dinov2/configs/train/cell_dino/vitl16_boc_hpafov.yaml \ --output-dir OUT_DIR \ train.dataset_pathHPAFoV:splitTRAIN:rootDATA_DIR:wildcardSEPARATE_CHANNELS预训练结束后用教师权重做线性评估注意--crop-size 384、--n-last-blocks 4与 F1 指标类型PYTHONPATH.:dinov2/data python dinov2/run/eval/cell_dino/linear.py \ --config-file dinov2/configs/eval/cell_dino/vitl16_channel_adaptive_pretrain.yaml \ --pretrained-weights OUT_DIR/eval/training_359999/teacher_checkpoint.pth \ --train-dataset HPAFoV:splitTRAIN:modePROTEIN_LOCALIZATION:rootDATA_DIR \ --val-dataset HPAFoV:splitVAL:modePROTEIN_LOCALIZATION:rootDATA_DIR \ --val-metric-type mean_per_class_multilabel_f1 \ --bag-of-channels --crop-size 384 --n-last-blocks 4 --avgpool在 5 个细胞数据集WTC/HPA/CP上复现的代表性指标复现值来自官方文档任务kNN线性探针HPA Task 1蛋白定位91.692.7HPA Task 261.487.2WTC Task 180.389.9CP Task 189.889.9图Cell-DINO 的自蒸馏流程单细胞图像经全局与局部裁剪视图由教师-学生网络协同学习常见配置问题速查问题现象可能原因解决方案pos_embed1370 vs 197 形状报错按 224 构建模型却加载 518 预训练权重按默认img_size518, patch_size14构建换输入尺寸后报错或特征变差边长不是 patch 14 的整数倍用 224/252/448 等交给内置 bicubic 插值多通道图像卷积核不匹配patch_embed通道数与权重绑定in_chans1channel_adaptive: true_reg权重加载失败模型多了 4 个寄存器 token 未对齐用dinov2_vitb14_reg等入口加载进阶用寄存器 token 压低注意力伪影_reg系列权重比标准版多 4 个可学习的 register tokennum_register_tokens4插在 CLS 之后参与注意力用于吸收图像高频伪影使 patch 特征更干净。注意它与标准版权重不通用_reg必须配合antialiasTrue, interpolate_offset0.0构建。做下游微调或取 patch 级特征时优先选_reg权重特征级任务收益明显只用 CLS 做分类时两者差距不大。动作清单按img_size518, patch_size14构建模型再加载 LVD-142M 权重别动这两个默认值。显存不足时选 224/252/44814 的倍数位置编码交给interpolate_pos_encoding自动处理。处理 4/5 通道细胞图像in_chans1、channel_adaptive: true训练与评估两侧参数保持一致。取 patch 级特征优先加载_reg权重并保留其antialiasTrue, interpolate_offset0.0构建参数。预训练后评估走教师权重eval/下每 12500 步一份线性探针配--crop-size 384 --n-last-blocks 4。【免费下载链接】dinov2PyTorch code and models for the DINOv2 self-supervised learning method.项目地址: https://gitcode.com/GitHub_Trending/di/dinov2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表