littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Python和PyTorch的跨模态图文检索系统

项目简介

本项目是基于Python和PyTorch实现的跨模态图文检索系统,具备图像和文本间相似度搜索功能,涵盖模型训练、特征提取、注意力机制计算、相似度计算以及API接口等模块。

项目的主要特性和功能

  1. 运用预训练的Faster R - CNN模型与BERT模型,实现图像和文本的特征提取。
  2. 通过交叉注意力机制,计算文本与图像间的注意力得分和相关度,提升交互与理解能力。
  3. 基于特征提取和注意力机制,计算图像和文本的相似度。
  4. 构建基于Flask的web应用,提供用于图像和文本检索的HTTP接口。
  5. 计算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上的模型。
  • 项目使用了torchtransformersPIL等多个外部库,需确保正确安装。
  • 构建API接口时,要保证图像在本地存在,若外部传输图像不在数据集中,需在外部编写接口下载图像。
  • API接口请求的数据格式需按{"keywords": "内容"}传入。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】