
open_clip 如何用本地 checkpoint 在 ImageNet 验证集上跑零样本评估【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip手上有一个 open_clip 的本地 checkpoint——比如训练产出的epoch_K.pt或从别处拷贝来的.pt文件——想确认它在 ImageNet-1k 验证集上的零样本准确率不需要跑完整训练流程README.md 提供的入口python -m open_clip_train.main中--pretrained参数同时接受 tag 和本地文件路径而不传训练集时脚本会直接进入纯评估路径评估完即退出。下面按环境准备、运行命令、结果读取的顺序走一遍。准备条件安装用pip install open_clip_torch[training]安装带训练/评估依赖的版本README 中训练入口即基于此安装。main 分支要求torch2.6。如果是在源码克隆目录中运行python -m open_clip_train.main先按 README 的 Development 一节执行make install。编码器依赖若模型图像编码器来自timmconvnext、siglip、eva 等需安装最新 timm遇到 Unknown model 错误时升级timm即可使用 transformers tokenizer 的模型需要安装transformers。ImageNet 验证集--imagenet-val指向的是validation集不是训练集README 对此有明确提示。val文件夹内应包含按 ImageNet 类别组织的子文件夹如果你下载的是平铺目录需要先整理成子文件夹README 在该提示处给出了整理脚本的引用。运行评估主路径是单进程调用python -m open_clip_train.main \ --imagenet-val /path/to/imagenet/validation \ --model ViT-B-32-quickgelu \ --pretrained /path/to/checkpoints/epoch_K.pt三条关键说明--pretrained传本地 checkpoint 路径。README 明确写道 Thepretrainedargument also accepts local paths, for example/path/to/my/b32.pt该参数的定义也是 Use a pretrained CLIP model weights with the specified tag or file path。因此 README 里 Evaluating hosted pretrained checkpoint on ImageNet zero-shot prediction 的示例使用 taglaion400m_e32只需把 tag 换成你的本地文件路径即为本地 checkpoint 版本。命令中的/path/to/imagenet/validation和/path/to/checkpoints/epoch_K.pt替换成你的实际路径。--model必须与 checkpoint 的架构匹配。若 checkpoint 用 QuickGELU 训练包括所有 OpenAI 预训练权重要用-quickgelu后缀的模型名README 说明模型默认激活现在是nn.GELU用非-quickgelu定义加载 QuickGELU 权重会有精度下降。不传--train-data/--val-data。没有训练集时脚本跳过训练直接执行一次评估后退出因此不需要任何训练超参。可选参数均出现在 README 的示例命令中按需添加--batch-size、--workers按显存和磁盘 IO 调整吞吐--device cuda指定运行设备--report-to tensorboard把指标写入 tensorboard 日志便于对比多个 checkpoint。验证结果运行时 rank 0 进程会依次打印Starting zero-shot imagenet.与Finished zero-shot imagenet.说明评估完整跑完。零样本指标以imagenet-zeroshot-val-top1和imagenet-zeroshot-val-top5命名写入日志计算逻辑见 src/open_clip_train/zero_shot.py。其内部流程是用 open_clip 内置的 ImageNet 类别名IMAGENET_CLASSNAMES与 OpenAI 模板句OPENAI_IMAGENET_TEMPLATES构建零样本分类器再对验证集逐批计算 top-1 / top-5 准确率。若开启了--report-to tensorboard可用 README Logging 一节的命令查看tensorboard --logdirlogs/tensorboard/ --port7777数值量级可对照 README.md 顶部的主模型零样本 ImageNet-1k 精度表做 sanity check例如 LAION-2B 训练的 ViT-L-14 为 75.3%、DataComp-1B 训练的 ViT-L-14 为 79.2%、ConvNext-XXLarge 为 79.5%。该表只用于对照已知模型的量级不是对你这个 checkpoint 的固定预期值。常见问题与限制指标完全没输出--zeroshot-frequency设为 0 时评估逻辑会直接跳过纯评估运行用默认设置即可触发一次评估。若日志出现Skipping zero-shot ImageNet eval: model has no encode_text警告说明加载的是没有对比式文本塔的纯生成模型如 GenLIP此路径不支持。ValueError: ImageNet zero-shot evaluation is image-only and requires an image model.--model指定的不是图像模型如纯音频的 CLAP 配置。ImageNet 零样本评估只支持带图像编码器的模型。val 目录结构不满足要求验证集目录内没有类别子文件夹时数据加载器无法提供类别标签需先整理成子文件夹再运行。QuickGELU 与模型定义不匹配现有大量 checkpoint含全部 OpenAI 权重用 QuickGELU 训练加载时模型名必须带-quickgelu后缀否则精度会下降。checkpoint 兼容性main 分支说明现有预训练.ptcheckpoint 加载方式不变若从 main 分支产出的训练 checkpoint 恢复/评估state_dict与旧版本兼容。入口命令与参数说明见 README.md 的 Evaluation / Zero-Shot 章节指标计算细节见 src/open_clip_train/zero_shot.py。需要 ImageNet 之外的系统性评估时README 推荐配合 CLIP_benchmark 项目覆盖 40 个数据集。【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考