问题
今天使用caffe训练好的数据进行测试分类,训练完后测试发现不同的图片测试得到结果都指向了一类,而每运行一次程序获取到的预测结果竟然不一样!!!
解决
- 首先比较输入数据传入网络时候是否发生变化 ----------- 发现正常。
- 比较测试相同图片获取得到的测试结果是否一致 --------- 错误
排除发现相同图片运行后获取得到的测试结果不一样
经过查找资料发现网络权重文件caffemodel与网络模型prototxt的网络不一致。caffe实现的内部通过prototxt文件初始化网络结构,通过caffemodel来更新网络权重,若caffemodel权重文件缺少相应的层权重,caffe将随机初始化层权重,也就是为什么每次启动caffe时,获取得到的网络输出不一致。