资讯动态

open_clip 如何安装 training 依赖并用 CSV 数据跑通第一次单进程 CLIP 训练?

发布时间:2026/9/15 11:18:59 来源:尧图企业网站定制
open_clip 如何安装 training 依赖并用 CSV 数据跑通第一次单进程 CLIP 训练【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip这篇文章面向第一次使用 open_clipOpenCLIPCLIP 的开源实现做训练的人你需要安装训练所需的依赖准备一份 CSV 图像-文本数据然后按仓库给出的单进程示例命令跑通一次 CLIP 训练并确认 checkpoint 和日志确实产生了。以下路径均来自 README.md 的 Training CLIP 章节及仓库内的依赖清单适用于main分支当前使用的训练栈。先确认版本前提main 分支的训练栈与依赖基线README.md 开头的Main branch training stack notice说明main默认使用重构后的训练栈TrainingTask封装、dict 形式的 batch、FSDP2 等。如果你依赖的是旧的 release-stable 训练 APIREADME 建议钉住v3分支或 PyPI 上最新的 3.x 版本。本文按main分支的用法写。依赖基线README 与 pyproject.toml 中的明确要求Python3.9pyproject.toml 中requires-pythontorch2.6。README 的 Dependency bump 说明最低版本从2.0提到2.6从该版本起torch.load(weights_onlyTrue)成为默认仓库内所有 checkpoint 加载都显式传递weights_onlyTrue一个行为变更需要知道main上--precision默认从amp变为amp_bf16如需保持 fp16 AMP 要显式传--precision amp训练入口为python -m open_clip_train.mainREADME 提示可以用它加--help查看全部参数。安装 training 依赖主路径安装 PyPI 发布包README 建议先创建虚拟环境python3 -m venv .env source .env/bin/activate pip install -U pip然后安装带 training 扩展的发布包README Training CLIP / Install 原文命令pip install open_clip_torch[training]这个 extras 依赖 pyproject.toml 中的定义torch2.6、webdataset0.2.5,0.2.86、pandas、transformers[sentencepiece]、timm1.0.29、fsspec。PyTorch 本身的安装方式README 建议按 PyTorch 官方本地安装指引执行针对你的 CUDA 环境选择。可选分支从源码安装如果你克隆了 open_clip 仓库并准备修改代码贡献流程README 给出两条命令均在创建虚拟环境后于仓库根目录执行make install make install-training对照 Makefilemake install执行pip install -U pip和pip install -e .可编辑安装本仓库make install-training等价于pip install -r requirements-training.txt即安装 requirements-training.txt 里的完整训练依赖清单torch2.6、torchvision、webdataset、regex、ftfy、tqdm、pandas、braceexpand、huggingface_hub、safetensors、transformers[sentencepiece]、timm1.0.29、fsspec。注意源码安装不会替代 PyTorch 本体仍需先按上面说明装好 torch。准备 CSV 图像-文本数据CSV 数据文件需要两列一列是图像文件路径一列是对应的 caption 文本。README 中 Fine Tuning CoCa 一节给出了生成这种 CSV 的方式用 pandas 写出filepath和title两列、以制表符分隔的 CSV。你训练时用的列名通过命令行参数映射到数据列--csv-img-keyCSV 中图像路径列的列名--csv-caption-keyCSV 中 caption 列的列名。仓库的单进程示例命令显式使用--csv-img-key filepath --csv-caption-key title即数据文件需有名为filepath和title的列。列名不同时改这两个参数即可参数定义见 src/open_clip_train/params.py。训练和验证各需要一份这样的文件分别传给--train-data和--val-data。数据读取实现是 src/open_clip_train/data.py 中的CsvDataset其加载格式可以对照单元测试 tests/test_data_csv.py 查看。运行第一次单进程训练下面是 README Sample single-process running code 的原始命令。单进程指直接用python -m open_clip_train.main启动不使用torchrun命令中所有/path/to/...都要替换成你的真实路径python -m open_clip_train.main \ --save-frequency 1 \ --zeroshot-frequency 1 \ --report-to tensorboard \ --train-data/path/to/train_data.csv \ --val-data/path/to/validation_data.csv \ --csv-img-key filepath \ --csv-caption-key title \ --imagenet-val/path/to/imagenet/root/val/ \ --warmup 10000 \ --batch-size128 \ --lr1e-3 \ --wd0.1 \ --epochs30 \ --workers8 \ --model RN50命令中与数据直接相关的参数及 README 给出的使用说明--train-data/--val-data训练与验证 CSV 的路径。如果你的数据要显式声明类型可加上--dataset-type csvREADME 在 CoCa 的 CSV 微调示例中就是这么传的--csv-img-key/--csv-caption-keyCSV 列名映射与你的文件实际列名保持一致--imagenet-val指向 ImageNet 的validation集不是训练集用于训练过程中的 zero-shot 评估。README 明确说明如果不想在训练期间做 ImageNet zero-shot 评估可以删除这个参数并且val目录应包含子目录否则需要用 README 提到的 valprep 脚本处理--model RN50要训练的模型架构README 提示其他模型如ViT-B-32、RN50x4用同一参数指定--save-frequency 1/--zeroshot-frequency 1示例命令中的保存与 zero-shot 评估频率配合下文按 epoch 命名的 checkpoint 使用。验证运行结果判断这次运行是否跑通按 README 给出的一手依据检查三件事1. checkpoint 是否落盘。README Resuming from a checkpoint 与 Evaluating local checkpoint 两节都以epoch_K.pt形式的 checkpoint 文件为操作对象如--resume /path/to/checkpoints/epoch_K.pt。训练过程中按--save-frequency产生这样的文件是最直接的完成标志。2. TensorBoard 日志。命令里--report-to tensorboard会写入日志README Logging 一节给出查看命令tensorboard --logdirlogs/tensorboard/ --port77773. 用本地 checkpoint 做一次评估。README Evaluating local checkpoint 给出的示例命令文档示例--model需与训练所用模型架构一致--pretrained指向你训练出的 checkpointpython -m open_clip_train.main \ --val-data/path/to/validation_data.csv \ --model RN101 \ --pretrained /path/to/checkpoints/epoch_K.pt训练曲线方面README 提供了一条参考曲线文档示例8 GPU 机器上训练 Conceptual Captions 的 zero-shot 曲线非单进程首训的固定预期限制、恢复与下一步恢复训练README 给出--resume /path/to/checkpoints/epoch_K.pt也支持s3://等 fsspec 远端路径。main 分支 CLI 破坏性变更README 明确列出--horovod已移除--torchscript和--trace已移除--precision默认值变为amp_bf16。如果你的脚本来自旧版本仓库按 README 建议评估后切换到v3分支或 3.x 发布版或使用 src/open_clip_train/legacy_main.py 对应的旧入口README 将其定位为兼容垫片而非新训练工作的路径。扩大规模多 GPU 用torchrun --nproc_per_node N -m open_clip_train.main ...启动README Single-Node 一节README 推荐更大规模数据集使用 WebDataset.tar分片而不是 CSV。跑通单进程 CSV 训练后的自然下一步就是上面这条恢复/评估路径确认epoch_K.pt可被--pretrained加载并产出评估结果再考虑多卡或 WebDataset 数据源。【免费下载链接】open_clipAn open source implementation of CLIP.项目地址: https://gitcode.com/GitHub_Trending/op/open_clip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价