CoOp

自动学习提示词,让CLIP模型在少样本下精准分类

CoOp(Context Optimization)是一个针对视觉-语言模型(如CLIP)的提示学习(Prompt Learning)开源项目,由OpenAI团队提出,发表于CVPR 2022和IJCV 2022。它解决了预训练视觉-语言模型在下游任务中需要手工设计提示(prompt)的问题,通过将提示转化为可学习的连续向量,在少量样本下自动优化提示,从而显著提升模型在图像分类等任务上的性能。核心能力包括:支持多种CLIP骨干网络(如ViT-B/16、ViT-L/14等)、提供完整的训练和评估代码、支持多个基准数据集(如ImageNet、Caltech101等),并实现了few-shot和全监督学习范式。项目代码基于PyTorch,易于扩展和复现,是视觉语言模型提示学习领域的代表性工作。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2229
维护状态 低维护
是否开源
定价模式 free

项目数据

分类开源模型
开发团队KaiyangZhou
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源
开源协议MIT
主要语言Python
技术栈/模型foundation-models,multimodal-learning,prompt-learning
GitHub 星标★ 2229
30天Star增速
HF 下载量
上线时间2021-09-01 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数6

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 5 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Python 环境,并预先安装 PyTorch(随 dassl 一起安装)
  • 先安装并激活 dassl 环境(来自 Dassl.pytorch 仓库)
  • 按 DATASETS.md 准备数据集(如 ImageNet、Caltech101 等)
  • 网络可访问 GitHub 以获取 Dassl.pytorch、CLIP 及数据集说明

安装与启动步骤

  1. 1安装dassl环境

    README 明确要求先按 Dassl.pytorch 仓库的安装说明装好 dassl 以及 PyTorch,这是运行本项目的前置条件。

  2. 2安装项目依赖

    激活 dassl 环境后,在 CoOp/ 目录下执行该命令安装 CLIP 所需的若干额外 Python 包。

    cd CoOp
    pip install -r requirements.txt
  3. 3安装数据集

    按仓库中的 DATASETS.md 文档安装所需数据集,README 未给出具体下载命令。

  4. 4运行CoOp实验

    打开 COOP.md,按其中说明运行 Learning to Prompt for Vision-Language Models 的代码复现结果。

  5. 5运行CoCoOp实验

    打开 COCOOP.md,按其中说明运行 Conditional Prompt Learning 的代码复现结果。

如何确认成功

在已激活的 dassl 环境下,按 COOP.md 或 COCOOP.md 给出的训练命令能正常开始训练,且数据加载无报错。

常见问题

Q:安装顺序是什么?

A:先安装并激活 dassl 与 PyTorch,然后在 CoOp/ 目录下执行 pip install -r requirements.txt,最后按 DATASETS.md 安装数据集。

Q:requirements.txt 里包含 CLIP 吗?

A:README 说明 requirements.txt 用于安装 CLIP 所需的几个额外包,需在 dassl 激活的环境下执行安装。

Q:数据集从哪里获得?

A:README 未列出下载地址,要求跟随仓库中的 DATASETS.md 文档进行安装。

Q:如何复现论文中的实验结果?

A:按论文选择对应文档:CoOp 见 COOP.md,CoCoOp 见 COCOOP.md,里面有详细运行说明。

注意事项

  • pip install -r requirements.txt 必须在已激活的 dassl 环境下、于 CoOp/ 目录中执行。
  • dassl 的具体安装命令在 Dassl.pytorch 仓库的安装说明中,本 README 未直接给出,请按链接操作。
  • README 未提供具体训练/评估命令和端口、路径参数,请以 COOP.md、COCOOP.md、DATASETS.md 为准。
  • 本项目为研究代码,需自备数据集与算力资源。

核心亮点

  • 将离散提示转化为连续可学习向量,免去手工设计提示的繁琐
  • 在16个图像分类基准上验证,少样本性能显著优于手工提示
  • 代码结构清晰,支持多种CLIP骨干和数据集,易于复现和扩展

不足之处

  • 主要关注图像分类任务,对检测、分割等任务支持有限
  • 文档和社区活跃度一般,中文资料较少

适用场景

  • 少样本图像分类(如医疗影像、卫星图等标注稀缺场景)
  • 视觉-语言模型下游任务适配(如CLIP在特定领域应用)
  • 学术研究:提示学习、参数高效微调方向的研究基线

替代项目

CoCoOp、MaPLe、PromptCLIP

项目介绍

CoOp 是模型训练领域的开源项目,由 KaiyangZhou 开发,2021 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,229)位列前 30%,在模型训练分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:少样本图像分类(如医疗影像、卫星图等标注稀缺场景)。同类可对比的替代方案包括 CoCoOp、MaPLe、PromptCLIP。

上一篇:autodistill

下一篇:Large-Time-Series-Model

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1286 2026-08-13