资源算法Show,Attend and Tell算法

Show,Attend and Tell算法

2019-08-19 | |  200 |   0 |   0

显示,出席和讲述

更新(2016年12月2日) TensorFlow实现Show,Attend和Tell:使用Visual Attention生成神经图像标题,引入基于注意力的图像标题生成器。模型在生成每个单词时将注意力更改为图像的相关部分。


替代文字


参考

作者的theano代码:https://github.com/kelvinxu/arctic-captions

另一个tensorflow实现:https://github.com/jazzsaxmafia/show_attend_and_tell.tensorflow


入门

先决条件

首先,将此repo和pycocoevalcap克隆到同一目录中。

$ git clone https://github.com/yunjey/show-attend-and-tell-tensorflow.git$ git clone https://github.com/tylin/coco-caption.git

此代码是用Python2.7编写的,需要TensorFlow 1.2此外,您还需要安装一些软件包来处理MSCOCO数据集我提供了一个脚本来下载MSCOCO图像数据集VGGNet19模型下载数据可能需要几个小时,具体取决于网络速度。运行下面的命令,然后将图像下载到image/目录中,并将VGGNet19模型下载到data/目录中。

$ cd show-attend-and-tell-tensorflow$ pip install -r requirements.txt$ chmod +x ./download.sh$ ./download.sh

要将图像提供给VGGNet,您应将MSCOCO图像数据集的大小调整为固定大小224x224。下面运行命令然后调整大小的图像将存储在image/train2014_resized/image/val2014_resized/目录中。

$ python resize.py

在训练模型之前,您必须预处理MSCOCO标题数据集要生成标题数据集和图像特征向量,请运行以下命令。

$ python prepro.py


训练模型

要训练图像字幕模型,请运行以下命令。

$ python train.py


(可选)Tensorboard可视化

我提供了一个用于实时调试的张量板可视化。打开新终端,在下面运行命令并打开http://localhost:6005/Web浏览器。

$ tensorboard --logdir='./log' --port=6005


评估模型

要生成字幕,可视化注意力并评估模型,请参阅evaluate_model.ipynb


结果


培训数据

(1)生成的标题:飞机在天空中飞行,起落架向下。

替代文字

(2)生成的标题:长颈鹿和两只斑马站在田野里。

替代文字

验证数据

(1)生成的标题:站立在干草地的一头大象。

替代文字

(2)生成的标题:站立在泥土顶部的小象。

替代文字

测试数据

(1)生成的标题:飞越水体的飞机。

替代文字

(2)生成的标题:站立在树附近的草的斑马。

替代文字

上一篇:SSD

下一篇:ChainerRL

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...