如何在caffe中读取带有python层的hdf5并进行数据扩充?

时间:2017-02-15 07:06:01

标签: python crop caffe hdf5 mirror

我想从hdf5文件中读取数据并进行数据扩充。

我可以使用镜像和裁剪在transform_param中进行数据扩充。

但是,我在transformation_param图层中无法HDF5Data - caffe不支持此功能。

我认为这可能是编写python层来解决它的好方法。从hdf5文件中读取数据并同时进行数据扩充。

我已经阅读了一些相关的答案,例如" caffe data layer example step by step"和" What is a Python layer in caffe?"

我仍然不知道一些细节,例如我应该在何处放置书面文件"*.py"?以及如何编写代码来进行数据扩充?

1 个答案:

答案 0 :(得分:0)

你的python图层*.py应该在你的$PYTHONPATH

考虑$CAFFE_ROOT/examples/pycaffe/layers中的python图层示例 ,用于自定义python丢失和数据层。

特别考虑$CAFFE_ROOT/examples/pycaffe/layers/pascal_multilabel_datalayers.py

在下一批次加载之前,您可以即时进行数据扩充。

然后在*.prototxt

layer {
  name: "data"
  type: "Python"
  top: "data"
  top: "label"
  python_param {
    module: "pascalcontext_layers"
    layer: "PASCALContextSegDataLayer"
    param_str: "{\'context_dir\': \'../../data/pascal-context\', \'seed\': 1337, \'split\': \'train\', \'voc_dir\': \'../../data/pascal\'}"
  }
}

module是文件名,layer是类名。