【飞桨论文复现赛-图像描述生成】Soft-Attention
本文为百度论文复现赛第四期相关论文的复现代码介绍。依赖paddlepaddle-gpu2.1.2、python3.7,在coco2014数据集训练,给出复现精度。介绍了模型背景、结构、数据集,还说明了运行、安装依赖、训练及评估的步骤,提及代码解释相关内容。

前言
本项目为百度论文复现赛第四期《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》论文复现代码。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
依赖环境:
paddlepaddle-gpu2.1.2python3.7代码在coco2014数据集上训练,复现精度:
模型背景及其介绍
参考论文:《Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》论文链接
近年来,人们提出了几种生成图像描述生成方法。这些方法中许多都是基于递归神经网络,并受到了成功使用序列与神经网络进行机器翻译训练的启发。图像描述生成非常适合机器翻译的编码器-解码器框架,一个主要原因是它类似于将图像翻译成句子。
受机器翻译和目标检测工作的启发,论文首次提出在图像描述模型中引入注意力机制,大幅度提高了模型的性能,并可视化展示了注意力机制如何学习将目光固定在图像的显著目标上,整体框架如下。
第一步:输入Image到模型中。
第二步:经过CNN进行卷积提取Image特征信息最终形成Image的特征图信息。
第三步:attention对提取的特征图进行加权求和,作为后续进入LSTM模型的输入数据,不同时刻的attention数据会受到上一时刻状态输出数据的影响。
第四步:LSTM模型最终输出caption。
模型结构:
参考项目地址链接
复现论文代码github地址链接
数据集
coco2014 image captions 论文,采用“Karpathy” data split 论文
数据集总大小:123287张
训练集:113287张
验证集:5000张
测试集:5000张
标签文件:dataset_coco.json
运行
解压预训练数据到work/data/目录下
预训练数据包括: 通过vgg19提取的coco2014图像网格特征、cocotalk.json、cocotalk_label.h5
通过命令 !python3 scripts/prepro_feats.py 和 !python3 scripts/prepro_labels.py 获得
In [5]%cd /home/aistudio/work/data/!unzip -oq /home/aistudio/data/data106948/coco_data_vgg.zip登录后复制
/home/aistudio/work/data登录后复制
解压用于训练测试的文件到work/目录下
In [6]%cd /home/aistudio/work/!unzip -oq /home/aistudio/data/data107076/coco-caption.zip登录后复制
/home/aistudio/work登录后复制
安装依赖库
In [ ]%cd /home/aistudio/work/!pip install -r requirements.txt登录后复制
训练
训练的日志和模型会放到work/log/目录下
In [ ]!python3 train.py登录后复制
评估
我已经将训练好的model_best.pdparams文件放在了work/log目录下
加载work/log目录下保存的训练模型数据进行验证
In [ ]%cd /home/aistudio/work/!unzip -oq /home/aistudio/data/data107076/log.zip登录后复制 代码解释In [ ]
!python3 eval.py登录后复制
相关攻略
爬虫与RPA:同为“自动化”,却大有不同 一提到自动化,爬虫和RPA(机器人流程自动化)是绕不开的两大技术。它们都致力于替代人工、提升效率,但如果你仔细琢磨,会发现两者就像“特种兵”与“文职助理”,职责领域和发力点截然不同。 一、应用场景:一个向外“索取”,一个向内“梳理” 爬虫的核心舞台在数据采集
Python Http请求 说到Python里的Http网络请求,大家常用的库其实就那么几个:Urllib、Urllib3、Httplib2,还有名声在外的Requests。这里头,Urllib3算是个实力派,它功能全面、设计清晰,不仅支持线程安全,还自带连接池,连文件上传(post)都给安排好了。
优化数据获取流程 网络爬虫的数据获取,其实可以拆解为“请求”和“执行”两个清晰的环节。简单来说,就是按照需求去下载网页信息。这个过程的核心,在于如何向服务器发送请求。技术上,我们通常会通过模拟浏览器行为来发送请求指令。如果服务器“接招”并给出了响应,程序就可以继续执行后续步骤;如果毫无反应,那就得回
在数字货币和区块链技术日益普及的今天,高效地与这些平台交互,已经成了开发者的一项必备技能。作为全球领先的加密货币交易平台,币安提供了丰富的API接口,尤其是其Web3 API,为基于以太坊等区块链网络的应用开发带来了巨大便利。那么,用什么工具来调用这些接口最顺手呢?答案很可能是Python。这门语言
爬虫技术介绍 当你用Requests、Scrapy或者Selenium这些工具从网上抓取数据时,拿到手的原始“材料”往往是HTML、XML或JSON格式的“毛坯”。这就像淘金,挖到了矿石,还需要后续的解析和提炼,才能把真正有价值的“金子”——也就是目标数据——分离出来,并妥善保存起来。 Reques
热门专题
热门推荐
传统游戏注册流程繁琐,常因网络或系统问题打断体验。免登录游戏实现“一键启动”,无需账号密码和个人信息,几秒即可畅玩。这种即时性完美契合快节奏生活,无论是碎片时间消遣还是突发娱乐冲动,用户都能零负担进入游戏,不再因流程繁琐而放弃尝试。下面是不用登录不用实名认证的游戏推荐! 不用登录不用实名认证的游戏推
在炉石传说的世界里,一套强力的卡组能带来无尽的乐趣与胜利的喜悦 今天要和大家深入探讨的,是一套围绕“无界空宇洛德”构筑的、极具爆发力的卡组。它的魅力在于,能在中期瞬间扭转战局,给对手带来巨大的压迫感。 卡组核心思路 这套牌的战术轴心非常明确:一切为了无界空宇洛德服务。前期,我们需要用低费卡牌进行场面
《Pragmata》全服装获取攻略!解锁Hugh和Diana所有外观,包括宾果板、通关奖励及豪华版专属服装。无属性加成,纯外观收集指南。 对于任何一款值得投入时间的游戏来说,角色外观的收集与搭配,本身就是一大乐趣。虽然在《Pragmata》里,服装并不影响战斗数值,但谁不想让自己操控的角色在末世冒险
《明日方舟终末地》庄方宜电队搭配一图流 《明日方舟终末地》1 2版本推出的新角色庄方宜,定位是六星电系核心输出。很多玩家拿到手后,最关心的问题自然是:这位强力大C,到底该怎么配队才能发挥最大威力?下面,我们就结合玩家“十三天天”整理的一图流攻略,来详细拆解庄方宜的电系队伍搭配思路。 核心配队逻辑解析
《明日方舟终末地》庄方宜配队与手法排轴教学 在《明日方舟终末地》的战场上,雷属性角色庄方宜以其独特的机制,带来了不少操作上的可能性与策略深度。那么,如何围绕她构建队伍,并安排一套行之有效的输出循环呢?今天,我们就来深入聊聊庄方宜的配队思路与实战手法排轴。 核心配队逻辑 为庄方宜搭配队伍,关键在于理解





