项目简介
本项目是基于Python和PyTorch实现的跨模态图文检索系统,具备图像和文本间相似度搜索功能,涵盖模型训练、特征提取、注意力机制计算、相似度计算以及API接口等模块。
项目的主要特性和功能
- 运用预训练的Faster R - CNN模型与BERT模型,实现图像和文本的特征提取。
- 通过交叉注意力机制,计算文本与图像间的注意力得分和相关度,提升交互与理解能力。
- 基于特征提取和注意力机制,计算图像和文本的相似度。
- 构建基于Flask的web应用,提供用于图像和文本检索的HTTP接口。
- 计算R@K(Top - K准确率)指标,评估模型性能。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 安装依赖包:
bash
pip install -r requirements.txt
2. 准备数据:下载flickr8k数据集,将images文件夹置于dataset文件夹下。
3. (可选)若需训练模型,运行Train.py进行训练。
4. 运行FastCaching.py对图像进行预处理,并将结果保存到output.pt。
5. 检索图像或文本:运行Retrieval.py,并按主函数示例修改代码为自己的检索目标。
6. (可选)运行Flask.py构建API接口。
7. (可选)运行RKCalculator.py计算R@K指标。
注意事项
- 需使用Python 3.9解释器,并在
model文件夹下新建saved_models文件夹存放模型参数和记录文件。 - 因
torch包庞大,建议用代理或其他方式下载。 - 加载
BERT模型时,建议通过from_pretrained函数使用HuggingFace上的模型。 - 项目使用了
torch、transformers和PIL等多个外部库,需确保正确安装。 - 构建API接口时,要保证图像在本地存在,若外部传输图像不在数据集中,需在外部编写接口下载图像。
- API接口请求的数据格式需按
{"keywords": "内容"}传入。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】