在caffe中,如果我自己创建一个与图层关联的变量,并且我在训练迭代期间修改了这个变量,那么测试阶段不知道对该变量的修改,它似乎是为自己初始化它。训练测试阶段共享权重,但没有别的。如何在培训和测试阶段之间共享其他变量。感谢。
例如: 我在inner_product_layer.hpp声明,
int dog = 5;
并在Backward_gpu()中修改,
dog = 6;
测试阶段认为狗= 5。我希望测试阶段知道狗现在已经6岁了。
答案 0 :(得分:1)
训练和测试阶段的可执行文件是不同的,因此,如果您在训练期间修改代码中的变量,它将不会在测试时反映出来。您可以在训练结束时将变量转储到输出文件,并在初始化LayerSetUp函数中的图层时在测试时将该文件作为参数读取。文件名可以作为图层参数添加,您可以在其中检查您是否处于测试阶段,并从您保存的文件中设置参数。