项目简介
本项目是基于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】