From 635f979c84150fab6845ce409ac4378fb39c0f9b Mon Sep 17 00:00:00 2001 From: BIT2024 Date: Wed, 21 Aug 2024 11:05:39 +0800 Subject: [PATCH] ADD file via upload --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..69cd12e --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +第四届计图人工智能挑战赛-开放域少样本视觉分类赛题-B榜代码 + +环境配置: +- ubuntu 18.04 LTS +- python >= 3.7 +- jittor >= 1.3.0 +执行以下命令安装 python 依赖 +``` +pip install -r requirements.txt +``` + +方法的详细思路 +1.构建训练数据集和验证数据集: +在官方提供的训练数据集中,对于每个类别,从数据集中挑出任意4张图片训练模型,共1496张图片,构成模型训练集;剩余180233张图片作为模型验证集,用验证集中所有的数据对模型进行测试; + +2.创建AdanBelief优化器: +该项目使用了自定义优化器AdanBelief,在计图架构根目录下的optim.py文件中,自己编写优化器AdanBelief,该优化器是Adan优化器和AdaBelief优化器的融合,在Adan优化器中融入"Belief"增强训练模型的泛化性能, +所以要用开源的optim.py文件替换计图架构根目录下的optim.py文件; + +3.利用AdanBelief优化器训练ViT-B/32版本的CLIP模型 +首先冻结OpenAI官方预训练的ViT-B/32版本的CLIP模型中的全部图像层,再利用AdanBelief优化器训练模型,训练300个epoch,每隔5个epoch进行对模型进行保存,模型保存在/ckptFE/中,具体训练参数可参考train_clip.py; + +4.验证模型精度 +当完成CLIP模型训练后,运行test_clip.py,用验证集中所有的数据和自定义的提示词对保存的模型(['min_loss', 20, 50, 70, 90, 100, 150, 200, 250, 300])进行测试,测试结果保存在/ckptFE/test.log中; + +5.测试模型精度 +选取验证精度最好的模型和对应的提示词,运行test.py文件,在官方给定的数据中进行测试,输出"result.txt"。开放域少样本视觉分类赛题-B榜选择“epoch_90.pth”模型和“1. basic: a photo of”提示词,提交官方系统测试,top1的精度是0.7103。 + +使用的预训练模型种类:ViT-B/32版本的CLIP模型的Jittor版(https://github.com/uyzhang/JCLIP) + +最终的参数量之和:151.28M \ No newline at end of file