基本上我想在Python中生成类似下面的prototxt
。
layer {
name: "image"
type: "HDF5Data"
top: "image"
include {
phase: TRAIN
}
hdf5_data_param {
source: "./training_data_paths.txt"
batch_size: 64
}
}
layer {
name: "image"
type: "HDF5Data"
top: "image"
include {
phase: TEST
}
hdf5_data_param {
source: "./validation_data_paths.txt"
batch_size: 64
}
}
这是网络中第一层的两个版本,一个用于培训,另一个用于测试。它们具有相同的名称,以便下一层(例如卷积层)可以将命名层image
作为输入,并根据相应的阶段自动接收训练或测试数据。如何使用Python界面实现这一目标?我知道我可以做到
n.image = L.HDF5Data(hdf5_data_param={'source': './training_data_paths.txt',
'batch_size': 64},
include={'phase': caffe.TRAIN})
生成图层,但之后我不能n.image = (..., include={"phase": caffe.TEST)
,因为在Python中,成员n.image
将被替换。 (右?)