多个 HDF5 文件的 HDF5 数据层定义

Posted

技术标签:

【中文标题】多个 HDF5 文件的 HDF5 数据层定义【英文标题】:HDF5 data layer definition for multiple HDF5 files 【发布时间】:2017-03-11 16:14:41 【问题描述】:

我知道 Caffe 不会让您的 HDF5 数据层大于 2GB。 我有一个大数据集,我将我的大数据集分成 5 个 我在'train.txt' 文件中列出了这五个文件。 如何在我的网络 prototxt 文件的"HDF5Data" 层中定义它? 仅将它们全部列为顶部会产生错误. 这有什么小例子吗? 谢谢!

干杯

【问题讨论】:

我有一个问题:您是如何将数据拆分为多个 HDF5 文件的?? 【参考方案1】:

你应该有 text 文件'train.txt' 包含以下内容

/path/to/first.h5
/path/to/second.h5
/path/to/third.h5
/path/to/fourth.h5
/path/to/fifth.h5

然后,作为"HDF5Data" 层的source,您应该提供'train.txt'

layer 
  type: "HDF5Data"
  name: "data"
  # put your "top" here, if you have several - then go ahead
  hdf5_data_param 
    source: "/path/to/train.txt"  # only the list file goes here.
  
  include  phase: TRAIN 

如您所见,'/path/to/first.h5' 没有在train.prototxt 中明确列出,仅在train.txt 中列出。

【讨论】:

以上是关于多个 HDF5 文件的 HDF5 数据层定义的主要内容,如果未能解决你的问题,请参考以下文章

用于不适合内存的大型 hdf5 文件的 Keras 自定义数据生成器

将多个数据集读/写到单个 HDF5 文件

从多个熊猫数据帧创建 HDF5

使用 g++ 时 HDF5 的未定义符号

来自多个 HDF5 文件/数据集的链数据集

Caffe:将 CSV 文件转换为 HDF5