记录一下用改写VGG16,加上word2vec,在cifar10数据集上训练image2text的过程:
1.语言模型
选用已经训练好的text8,直接加载模型,对cifar10标签的各个单词进行词向量的映射即可。
2.image的模型
选用VGG16,对VGG16的后3层进行改写:
搭建自己的网络:my_vgg
然后加载VGG16训练好的参数矩阵VGG16.npy,初始化取前5层的参数后,对自己定义的my_vgg模型在新的数据集(cifar10)上重新进行训练。
加载npy文件中的预训练参数,且不要6,7,8三个全连接层,在自定义的网络上重新进行训练。训练生成一个输入图片,输出图像标签的模型,保存为model.ckpt.
3.joint_model的训练和预测
joint_model:
joint_model 需要完全复用my_vgg中定义的结构,计算出输入图片的one_hot标签,
同时在joint_model这个新的模型中,只取my_vgg模型的前几层,4096以后的几个全连接层都去掉,重新添加两个新的全连接层,<