0
我试图在训练时使用caffe求解器中的test_state
功能。要实现这一点,我下面的代码添加到solver.prototxt多个测试阶段的结果不正确
test_state: { stage: 'test-on-testSet0' }
test_iter: 726
test_state: { stage: 'test-on-testSet1' }
test_iter: 363
然后我修改这样的train_val.prototxt:
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TEST
stage: "test-on-testSet0"
}
transform_param {
mirror: false
scale: 0.0039215684
}
image_data_param {
source: "./set0.lst"
batch_size: 1
}
}
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TEST
stage: "test-on-testSet1"
}
transform_param {
mirror: false
scale: 0.0039215684
}
image_data_param {
source: "./set0.lst"
batch_size: 2
}
}
它必须指出的是,无论是测试用例是非常相同并且测试运行在./set0.lst文件中的完整图像集上。
仍然在使用build/tools/caffe
进行培训时,为两种测试状态打印的精度结果都不相同。 准确度层也正确连接。 这可能是造成这种不匹配的原因?