【视觉常识推理】基于paddle复现r2c

P粉084495128
发布: 2025-07-31 17:49:35
原创
841人浏览过
本项目基于Paddle框架复现From Recognition to Cognition: Visual Commonsense Reasoning中的R2C模型,用于解决视觉常识推理任务。该任务要求模型依据图像、相关对象、问题,从四个答案中选出正确项,并从四个原因中选出最合理解释。此复现为相关研究提供了实践基础。

【视觉常识推理】基于paddle复现r2c - php中文网

From Recognition to Cognition: Visual Commonsense Reasoning(r2c基于Paddle复现)

一、简介

本项目基于paddle复现From Recognition to Cognition: Visual Commonsense Reasoning中所提出的r2c模型,该模型用于解决视觉常识推理(Visual Commonsense Reasoning)任务,即给模型一个图像、一些对象、一个问题,四个答案和四个原因,模型必须决定哪个答案是正确的,然后在提供四个原因选出答案的最合理解释。

下面提供一个例子进行说明: 【视觉常识推理】基于paddle复现r2c - php中文网 对输入的图像、对象和问题 What is going to be happen next? ,模型需要选择答案d) 和原因d)。

论文地址:https://arxiv.org/abs/1811.10830

参考项目:https://github.com/rowanz/r2c

二、复现精度


Q → A QA → R Q → AR
原论文 63.8 67.2 43.1
复现精度 64.1 67.2 43.2

三、数据集

本项目所使用的数据集为 VCR ,由来自110K个电影场景的290K个多项选择的QA问题组成。

对于问题答案和原因,提供bert预训练好的特征,可从如下地址进行下载:

  • https://s3-us-west-2.amazonaws.com/ai2-rowanz/r2c/bert_da_answer_train.h5
  • https://s3-us-west-2.amazonaws.com/ai2-rowanz/r2c/bert_da_rationale_train.h5
  • https://s3-us-west-2.amazonaws.com/ai2-rowanz/r2c/bert_da_answer_val.h5
  • https://s3-us-west-2.amazonaws.com/ai2-rowanz/r2c/bert_da_rationale_val.h5
  • https://s3-us-west-2.amazonaws.com/ai2-rowanz/r2c/bert_da_answer_test.h5
  • https://s3-us-west-2.amazonaws.com/ai2-rowanz/r2c/bert_da_rationale_test.h5

建议的数据结构为:

data/
|-- vcr1images/ 
|   |-- VERSION.txt|   |-- movie name, like movieclips_A_Fistful_of_Dollars|   |   |-- image files, like Sv_GcxkmW4Y@29.jpg|   |   |-- metadata files, like Sv_GcxkmW4Y@29.json|-- bert_feature/|   |-- bert_da_answer_train.h5|   |-- bert_da_rationale_train.h5|   |-- bert_da_answer_val.h5|   |-- bert_da_rationale_val.h5|   |-- bert_da_answer_test.h5|   |-- bert_da_rationale_test.h5|-- train.jsonl|-- val.jsonl|-- test.jsonl|-- README.md
登录后复制
       

可以自行修改文件地址,但是对应的要修改文件读取中文件路径。

四、环境依赖

  • Python 3.7
  • paddle 2.2.1
  • paddlenlp

五、快速开始

在本地主机运行

训练

对于Q→ A,运行如下命令:

python train.py -floader model/saves/flagship_answer
登录后复制
登录后复制
       

对于QA → R,运行如下命令:

python train.py -floader model/saves/flagship_rationale -relation
登录后复制
登录后复制
       

测试

加载模型进行Q→ A测试,运行如下命令:

python eval.py -floader model/saves/flagship_answer
登录后复制
登录后复制
       

#注:这里需要保证模型的名字为best.pd(或者可以在utils/paddle_misc的restore_best_checkpointh函数中修改模型的名字)。

加载模型进行QA→ R测试,运行如下命令:

python eval.py -floader model/saves/flagship_rationale -relation
登录后复制
登录后复制
       

测试Q → AR效果,运行如下命令:

python eval_q2ar.py -answer_preds model/saves/flagship_answer/valpreds.npy -rationale_preds model/saves/flagship_rationale/valpreds.npy
登录后复制
登录后复制
       

使用预训练模型

预训练最优模型下载:

链接: https://pan.baidu.com/s/1VeG64RFxoBbs1ivZUOkJ0g

提取码: c4ir

将对应模型放到对应的文件目录下。

在AiStudio运行

首先解压数据集,运行如下命令:

python train.py -floader model/saves/flagship_answer
登录后复制
登录后复制
       

训练

对于Q→ A,运行如下命令:

unzip /home/aistudio/data/data122313/vcr1images.zip
登录后复制
       

对于QA → R,运行如下命令:

python train.py -floader model/saves/flagship_rationale -relation
登录后复制
登录后复制
       

测试

加载模型进行Q→ A测试,运行如下命令:

python eval.py -floader model/saves/flagship_answer
登录后复制
登录后复制
       

#注:这里需要保证模型的名字为best.pd(或者可以在utils/paddle_misc的restore_best_checkpointh函数中修改模型的名字)。

加载模型进行QA→ R测试,运行如下命令:

python eval.py -floader model/saves/flagship_rationale -relation
登录后复制
登录后复制
       

测试Q → AR效果,运行如下命令:

python eval_q2ar.py -answer_preds model/saves/flagship_answer/valpreds.npy -rationale_preds model/saves/flagship_rationale/valpreds.npy
登录后复制
登录后复制
       

使用预训练模型

同上下载预训练模型放到对应文件夹下,进行测试即可。

六、代码结构

|--data|--dataloader|   |--__init__.py|   |--box_utils.py|   |--mask_utils.py|   |--vcr.py|--model|   |--multiatt|   |   |--__init__.py|   |   |--model.py|   |   |--mask_softmax.py|   |   |--BilinearMatrixAttention.py|   |--saves|   |   |--flagship_answer|   |   |   |--best.pd|   |   |--flagship_rationale|   |   |   |--best.pd|--utils|   |--__init__.py|   |--detector.py|   |--paddle_misc.py|   |--Resnet50.py|   |--Resnet50_imagnet.py|   |--torch_resnet50.pkl|--train.py|--eval_q2ar.py|--config.py
登录后复制
   

以上就是【视觉常识推理】基于paddle复现r2c的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号