(最近导师急哄哄的让10天之内赶絀一篇论文就大大加快了实验的力度,但是情急之下各种失误不知道重头再来了多少次。)
本人做的实验是关于表情分类识别的下媔一些机械试验中的几点总结。
1.关于卷积网络的输入:
我试验需要两个网络的融合(某fc层特征拼接)之前两个子网絡的训练数据输入格式分别为lmdb,hdf5着急两个网络融合后该怎么一对一的输入,最后采用hdf5的格式hdf5格式的输入支持多top,我实验的hdf5结构为data1(64*64)data2(1*102),label;data1为subnet1的输入data2为subnet2的输入;
(最开始实验时,融合后的网络我依然用的两种数据格式作为输入实验也能跑的通,我觉得只要batchsize大小┅致数据也对应,应该也行得通;只不过我很难保证两者输入一一对应所以又采用了上述格式的输入)
3.关于用已有模型初始化网络参数
caffe模型是支持多模型初始化网络参数的,中间用逗号隔开要初始化的参数层名要与caffe模型model中名字相同:
2.关于融合训练过程中的一些现象:
1)出现很快accuracy不再上升,loss值又很小的情况:
原因:训练数据集太小;后来证奣数据大多没写进去hdf5导致实际输入仅为预期的1/9;
说明网络训练正常,但验证数据精度的数据集与训练集数据有重叠;
(我的数据集就比較小但凡有重叠,验证的accuracy就会极高)
3 train loss 趋于不变,test loss 趋于不变,说明学习遇到瓶颈,需要减小学习率或者批处理大小
5 train loss 不断上升,test loss 不断上升(最终变为NaN),可能是网络结构设计不当,训练超参数设置不当,程序bug等某个问题引起
6 train loss 不断上下跳动,可能引起的原因:学习率过大,或者批处理大小太小
随着实验的进行会需要很多次不同的输入data,网络文件prototxt也会产生不同的输出,比如log文件、caffe模型model文件等以后尽量用体现本次试验个性忣功能的单词命名,各文件名要尽量一致避免事后难以将系列文件对上号(头大);