概述
简述
本项目为CLIP模型的中文版本,使用大规模中文数据进行训练(~2亿图文对),旨在帮助用户快速实现中文领域的图文特征&相似度计算、跨模态检索、零样本图片分类等任务。
- 参考实现: - url=https://github.com/OFA-Sys/Chinese-CLIP commit_id=2c38d03557e50eadc72972b272cebf840dbc34ea
- 适配昇腾 AI 处理器的实现: - url=https://gitee.com/ascend/ModelZoo-PyTorch.git code_path=PyTorch/built-in/others
准备训练环境
准备环境
- 当前模型支持的 PyTorch 版本和已知三方库依赖如下表所示。 - 表 1 版本支持表 
| Torch_Version | 三方库依赖版本 | 
|---|---|
| PyTorch 1.11 | - | 
- 环境准备指导。 - 请参考《Pytorch框架训练环境准备》。 
- 安装依赖。 - 在模型源码包根目录下执行命令,安装模型需要的依赖。 - pip install -r requirements.txt python3 -m pip install -e .
准备预训练模型与词表
- 参考实现中提供了预训练模型的下载链接:
- VIT-B-16:https://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/checkpoints/clip_cn_vit-b-16.pt
- VIT-H-14:https://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/checkpoints/clip_cn_vit-h-14.pt
- 下载好的预训练模型放在pretrained_weights路径下
准备数据集
- 参考实现中提供了处理好的Flickr30K-CN数据集与zeroshot使用的cifar-100的下载链接:
- Flickr30K-CN:https://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/datasets/Flickr30k-CN.zip
- cifar-100: http://clip-cn-beijing.oss-cn-beijing.aliyuncs.com/datasets/cifar-100.zip
- 下载好的预训练模型放在datasets路径下
开始训练
训练模型
- 进入解压后的源码包根目录。 - cd /${模型文件夹名称}
- 运行训练脚本。 - 该模型支持单机单卡训练和单机8卡训练。 - 单机单卡训练 - 启动单卡训练。 - bash test/flickr30k_finetune_vit-b-16_rbt-base_full_1p.sh . # 单卡训练 vit-b bash test/flickr30k_finetune_vit-h-14_rbt-large_full_1p.sh . # 单卡训练 vit-h bash test/flickr30k_finetune_vit-b-16_rbt-base_performance_1p.sh . # 单卡性能 vit-b bash test/flickr30k_finetune_vit-h-14_rbt-large_performance_1p.sh . # 单卡性能 vit-h
- 单机8卡训练 - 启动8卡训练。 - bash test/flickr30k_finetune_vit-b-16_rbt-base_full_8p.sh . # 8卡训练 vit-b bash test/flickr30k_finetune_vit-h-14_rbt-large_full_8p.sh . # 8卡训练 vit-h bash test/flickr30k_finetune_vit-b-16_rbt-base_performance_8p.sh . # 8卡性能 vit-b bash test/flickr30k_finetune_vit-h-14_rbt-large_performance_8p.sh . # 8卡性能 vit-h
 - 训练完成后,权重文件保存在./experiments下,并输出模型训练精度和性能信息。 
模型推理
- 支持speed_benchmark - 进行speed_benchmark测试bash test/speed_benchmark_eval.sh . # speed_benchmark测试
 
- 进行speed_benchmark测试
- 支持zeroshot - 进行zeroshot测试bash test/zeroshot_eval.sh . # zeroshot测试
 
- 进行zeroshot测试
训练结果展示
表 2 训练结果展示表
| pretrain_model | NAME | image_to_text_R@5 | text_to_image_R@5 | FPS | Epochs | batch_size | 
|---|---|---|---|---|---|---|
| vit-b | 8p-NPU | 94.76 | 98.7 | 2280.00 | 3 | 128 | 
| vit-b | 8p-竞品V | 94.63 | 98.97 | 2512.40 | 3 | 128 | 
| vit-h | 8p-NPU | 95.18 | 98.7 | 316.07 | 3 | 32 | 
| vit-h | 8p-竞品V | 95.34 | 99.4 | 348.13 | 3 | 32 | 
表 3 zeroshot结果展示表
| NAME | zeroshot-top1 | 
|---|---|
| NPU | 64.44 | 
| 竞品V | 64.32 | 
版本说明
变更
2023.08.29:首次提交。
2023.09.04:适配NPU,新增训练和性能脚本。
2023.09.05:新增推理测试脚本。
FAQ
无。



