我是咖啡新手。感谢你们!
in https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto
我看到 1 个未注释的枚举变量阶段。它有 2 个选项“训练”和“测试”。
enum Phase {
TRAIN = 0;
TEST = 1;
}
他们是如何工作的?我最近看到一个模型也有这两个阶段。 .prototxt 文件如下所示:
name: "CIFAR10_full"
layer {
name: "cifar"
type: "Data"
top: "data"
top: "label"
data_param {
source: "CIFAR-10/cifar10_train_lmdb"
backend: LMDB
batch_size: 200
}
transform_param {
mirror: true
}
include: { phase: TRAIN }
}
layer {
name: "cifar"
type: "Data"
top: "data"
top: "label"
data_param {
source: "CIFAR-10/cifar10_test_lmdb"
backend: LMDB
batch_size: 100
}
transform_param {
mirror: false
}
include: { phase: TEST }
}
我可以从 TRAIN 阶段切换到 TEST 阶段吗?开关在哪里?
在训练期间(即执行$CAFFE_ROOT/tools/caffe train [...]
)caffe可以在训练阶段和测试阶段之间交替:即在训练阶段参数改变,而在测试阶段参数固定,模型仅运行前馈示例来估计模型当前的性能。
使用两个不同的数据集进行训练和测试是很自然的,这就是为什么你使用不同的数据集phase
values.
您可以阅读有关训练/测试迭代的更多信息here https://stackoverflow.com/q/33780779/1714410.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)