项目简介
本项目是基于Jittor深度学习框架开发的开源系统,名为Jittor_FewZero_Network
。专注于解决小样本图像分类任务,使用由Tsinghua - Dog、Caltech - 101、Food - 101和动物分类自建数据集构成的比赛数据集,涵盖374个类别,每个类别仅需4张训练图片。
项目的主要特性和功能
- 网络模型设计:定义用于小样本分类任务的网络模型,结合图像和文本编码器,实现图像与文本的匹配。
- 数据预处理:提供数据预处理功能,可加载配置信息、处理类别名称以及加载图片特征。
- 数据集处理:针对不同数据集有专门的处理类,能生成和处理小样本数据集,还可进行特定数据集的数据格式转换。
- 模型训练和测试:具备在few - shot学习场景下训练和优化模型的能力,并可对模型进行测试。
- 性能评估:包含多种评估模型性能的指标和函数。
- 特征蒸馏:增加可训练的特征蒸馏模块,使蒸馏后的特征更适合下游任务。
- 三边嵌入关系分类:利用测试图像、文本描述和训练图像之间的三边嵌入关系进行分类,结合多种相似度进行校正和补充信息。
安装使用步骤
环境配置
Jittor框架对环境要求如下: - 操作系统: Ubuntu >= 16.04 或 Windows Subsystem of Linux(WSL) - Python:版本 >= 3.7 - C++编译器 (需要下列至少一个) - g++ (>=5.4.0) - clang (>=8.0) - GPU 编译器(可选):nvcc >=10.0 - GPU 加速库(可选):cudnn - dev (cudnn开发版, 推荐使用tar安装方法,参考链接)
Docker安装
cmd
docker run -it --network host jittor/jittor
docker run -it --network host --gpus all jittor/jittor - cuda
docker run -it -p 8888:8888 jittor/jittor
Pip 安装
cmd
sudo apt install python3.7 - dev libomp - dev
python3.7 -m pip install jittor
python3.7 -m jittor.test.test_example
预训练模型下载
下载OpenAI官方预训练的ViT - B/32版本的CLIP模型,下载链接
数据集准备
根据项目需求,准备并处理相应的数据集,包括图像数据和文本描述数据。
模型训练
使用Jittor_FewZero_Network_T
函数进行模型训练,可能需要根据数据集和任务特点调整超参数。
模型测试与评估
使用Jittor_FewZero_Network
函数对模型进行测试,并使用cls_acc
、accuracy
等函数评估模型的性能。
结果输出
运行python test.py
进行测试,测试集路径为./Dataset/TestSetB
,输出结果将写入result.txt
文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】