PyCaffe NetSpec,如何创建具有相同名称但不同阶段的图层?

时间:2016-05-31 09:24:25

标签: caffe pycaffe

基本上我想在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将被替换。 (右?)

0 个答案:

没有答案
相关问题