本项目为华中科技大学人工智能与自动化学院研究生课程《高级机器学习理论》的课程作业,专注于基于CLIP的小样本分布外检测(Out-of-Distribution Detection)问题。
题目 | 基于CLIP的小样本分布外检测 |
学号 | U202115210(本科生) |
姓名 | 梁一凡 |
专业 | 人工智能本硕博2101班 |
指导教师 | 伍冬睿、朱力军 |
院系 | 人工智能与自动化学院 |
879059433 | |
首先克隆并安装 dassl 库
# 创建conda环境
conda create -n clipood python=3.9
conda activate clipood
# 安装PyToch
conda install pytorch==2.2.1 torchvision==0.17.1 torchaudio==2.2.1 pytorch-cuda=12.1 -c pytorch -c nvidia
# 克隆并安装dassl库
git clone https://github.com/KaiyangZhou/Dassl.pytorch.git
cd Dassl.pytorch/
python setup.py develop
cd ..
# 克隆本仓库
git clone https://github.com/YifanLiang-hust/Advanced_ML_Final_Project.git
cd Advanced_ML_Final_Project
# 安装项目依赖包
pip install -r requirements.txt
本项目使用以下预训练模型:
- CLIP ViT-B/16
预训练权重下载地址:https://pan.baidu.com/s/1_Fqp-pTaQTdrsKc6YhFV7A?pwd=6bmp
- ImageNet-1K:包含1000个类别的图像分类数据集,在小样本训练中每类采样1、2、4、8、16个样本,其类别名与编号的对应关系见网盘中的classname.txt
数据集下载地址:https://image-net.org/, 或者各种平台框架都有该数据集
OOD数据集中已经剔除了与 ID 数据集中重叠的类别,
- iNaturalist:自然物种图像数据集,共10,000张
- SUN:场景理解数据集,共10,000张
- Places:场景分类数据集,共10,000张
- Texture:纹理图像数据集,共5,640张
数据集下载地址:https://pan.baidu.com/s/1_Fqp-pTaQTdrsKc6YhFV7A?pwd=6bmp
Advanced_ML_Final_Project/
│
├── clip/
├── clip_w_local/
├── fig/
├── data/
│ ├── ID/
│ ├── ImageNet/
│ ├── classnames.txt
│ ├── preprocessed.pkl(运行训练代码后自动生成)
│ ├── train/
│ ├── n01440764/
│ ├── ...
│ ├── val/
│ ├── n01440764/
│ ├── ...
│ ├── split_fewshot/
│ ├── shot_1-seed_1.pkl(根据具体运行设置自动生成)
│ ├── ...
│
├── dataset/ # 数据集处理代码
│ ├── imagenet.py
├── trainer/ # 训练器
│ ├── dpcoop.py
│ ├── dplocoop.py
│ ├── dpsct.py
├── utils/ # 工具函数
│ ├── detection_util.py
├── config/ # 配置文件
│ ├── dataset/
│ ├── imagenet.yaml
│ ├── trainer/
│ ├── ImageNet_b16.yaml
├── script/ # 运行脚本
│ ├── DPCOOP/
│ ├── train_and_eval.sh
│ ├── DPLOCOOP/
│ ├── train_and_eval.sh
│ ├── DPSCT/
│ ├── train_and_eval.sh
│
├── CoOp_main.py # 主函数
├── requirements.txt # 依赖包列表
└── README.md # 项目说明
bash ./script/DPCoOp/train_and_eval.sh
bash ./script/DPLoCoOp/train_and_eval.sh
bash ./script/DPSCT/train_and_eval.sh
待补充
待补充
感谢华中科技大学人工智能与自动化学院提供的学习平台和资源支持
本项目采用 MIT License 开源许可证
© 2025 梁一凡 - 华中科技大学,人工智能与自动化学院