【问题标题】:How can I generate data layer (HDF5) for training and testing in same prototxt?如何在同一 prototxt 中生成用于训练和测试的数据层 (HDF5)?
【发布时间】:2017-07-06 12:06:36
【问题描述】:

我有一个 HDF5 类型的数据层。它包含预期的训练和测试阶段

name: "LogisticRegressionNet"
layer {
  name: "data"
  type: "HDF5Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  hdf5_data_param {
    source: "examples/hdf5_classification/data/train.txt"
    batch_size: 10
  }
}
layer {
  name: "data"
  type: "HDF5Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  hdf5_data_param {
    source: "examples/hdf5_classification/data/test.txt"
    batch_size: 10
  }
}

我想用python来生成它。这是我的代码

import caffe
from caffe import layers as L  # pseudo module using __getattr__ magic to generate protobuf messages
from caffe import params as P  # pseudo module using __getattr__ magic to generate protobuf messages
n = caffe.NetSpec()
n.data, n.label = L.HDF5Data(batch_size=batch_size, source='examples/hdf5_classification/data/train.txt', ntop=2, include={'phase': caffe.TRAIN})
n.data, n.label = L.HDF5Data(batch_size=batch_size, source='examples/hdf5_classification/data/test.txt',ntop=2, include={'phase': caffe.TEST})

但是,我的输出只是测试阶段。我该如何解决?谢谢

layer {
  name: "data"
  type: "HDF5Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  hdf5_data_param {
    source: "examples/hdf5_classification/data/test.txt"
    batch_size: 2
  }
}

【问题讨论】:

    标签: python neural-network deep-learning caffe pycaffe


    【解决方案1】:

    这是一个未解决的问题in caffe(您可以在那里找到其他相关 SO 线程的链接)。

    您可以做的是编写两个 prototxt,一个用于训练,一个用于测试。 solver.prototxt 支持定义训练网文件名和测试网文件名。

    【讨论】:

      猜你喜欢
      • 2016-10-06
      • 2017-02-20
      • 2020-06-17
      • 2017-01-10
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2022-01-02
      • 2019-07-14
      相关资源
      最近更新 更多