Pascal数据集:cvpr2016-master-pascal,下面包含两个i2t和t2i,分别都要去调
输入数据:在两个各自文件夹中的data下
运行方法:
训练执行sh train_cub_hybrid.sh
测试执行sh eval_cub_cls.sh
然后得到文本和图像的特征img_fea.mat和txt_fea.mat
测试结果使用附件压缩包中的evalMap.m,其中第34行,W=W1对应i2t的结果,对应修改为W=W2时为t2i的结果,然后改为W=W1+W2时为融合的结果
可以调的几个地方:
1.train_cub_hybrid.sh中的参数
learning_rate,从0.01到0.0001都可以尝试,间隔尝试一下
learning_rate_decay,目前是1,可以从0.8到1之间调整
2.输入数据归一化
把data文件夹下的输入数据进行归一化,可以尝试01归一,以及附件中的znorm,pre_cnn等归一方法,这里修改是注意新保存的mat文件名和里面的变量名都和原来保持一致
3.从不同迭代次数的模型提取特征,目前写的应该是每100步会保存一个模型,对应修改eval_cub_cls.sh中model参数后面的模型文件名
4.融合权重,上面提到的W=W1+W2的融合结果,W1和W2之间的融合权重也可以调整
注意:修改之前先把原有的两个文件夹备份,