论文Hierarchical Question-Image Co-Attention for Visual Question Answering的pytorch实现。
python3
torch7
luajit
本模型使用的数据集为cocoqa。首先,在Toronto COCO-QA Dataset上下载cocoqa数据集并解压,在项目根目录创建data
文件夹,将解压得到的cocoqa-2015-05-17
文件夹置入其中。
接着,到coco下载图片数据,只需要下载cocoqa用到的train2014和test2014,并解压到任意文件夹。
这里我们要下载预训练好的VGG19模型:
下载地址(两个都需要):caffe model, prototxt
在项目根目录创建文件夹image_model
,将以上两个文件置入。
数据预处理需要切换到prepro
文件夹:
cd prepro
python cocoqa_raw_process.py
python cocoqa_prepro.py
python版的caffe安装屡次失败,所以这里使用了torch7版本的caffe。 假设安装了luajit:
luajit img_process_vgg.lua --image_root [数据集coco的路径]
这一步需要时间可能会很长,具体由你GPU的算力决定。
运行结束后,数据处理部分的代码也就完成了。
回到项目根目录。
使用如下命令可查看可更改的训练参数:
python train.py -h
直接运行train.py
:
python train.py [指定的参数]
训练时,系统会自动将运行结果最优的模型存储起来,并且存储整个过程的loss以及accuracy。可在save
文件夹中查看。