1.数据集:
flicker30k
下载使用链接:
https://blog.csdn.net/gaoyueace/article/details/80564642
2.针对两种数据的存放格式做一个描述放在它的描述文件中:
(1)对于图像处理:
提取图像特征:
在show and tell模型中是用一个CNN去提取,提取出来之后这个图像特征就不变了:
先把所有图像的图像特征都抽取出来,然后在模型训练中直接去用即可:
(2)对于图像描述数据处理:
把所有图像描述的资料都统计出来:
3.首先从统计词表开始:
(1)引入必要的库
(2)定义好输入和输出文件:
输入文件是图片描述文件
输出是vocab文件
(3)定义一个函数去做词表统计:
找出最长长度及长度的分布:
vocab用于统计词表:
做词频的统计:
做一个返回:
运行结果:
所以对于flicker30k数据集来说,把长度设置为30-45都比较合理
(4)打印词表和把词表提出到具体文件中:
先对词表进行排序:
运行结果:
以上~词表生成 词频统计就完成了