在caffe prototxt文件中。 TRAIN和TEST阶段有什么作用?

时间:2016-06-06 14:25:41

标签: machine-learning neural-network computer-vision deep-learning caffe

我是caffe的新手。谢谢你们!

https://github.com/BVLC/caffe/blob/master/src/caffe/proto/caffe.proto

中的

我看到1个未注释的枚举变量阶段。它有2个选项TRAIN和TEST。

 require("RJSONIO")
 if(verbose) cat(address,"\n")
 # Get json returns from Google
doc   <- lapply(api_call, RCurl::getURL) 

他们是如何运作的?我最近看到一个模型也有这个2阶段。 .prototxt文件如下所示:

enum Phase {
   TRAIN = 0;
   TEST = 1;
}

我可以从TRAIN阶段切换到TEST阶段吗?开关在哪里?

2 个答案:

答案 0 :(得分:4)

在训练期间(即执行background-size: 100%; )caffe可以在训练阶段和测试阶段之间交替:即,在训练阶段参数改变,而在测试阶段,参数是固定的和模型仅运行前馈示例来估计模型的当前性能 使用两个不同的数据集进行训练和测试是很自然的,这就是你使用不同$CAFFE_ROOT/tools/caffe train [...]值的原因。

您可以阅读有关火车/测试迭代here的更多信息。

答案 1 :(得分:0)

TRAIN为训练期间使用的模型指定一层。

TEST为测试期间使用的模型指定一层。

因此,您可以在单个prototxt文件中定义2个模型:一个用于训练的模型和一个用于测试的模型。

有关此信息,请参见网页http://caffe.berkeleyvision.org/gathered/examples/imagenet.html

的“模型定义”部分