我知道Caffe不允许HDF5数据层超过2GB。
我有一个大型数据集,我将它分成了5个小于2GB的块。
我将这五个文件列在了'train.txt'
文件中。
如何在我的网络prototxt文件中的"HDF5Data"
层中定义它?
只是将它们全部列为top会生成错误。
有没有这方面的简单示例?
谢谢!
祝好
回答:
你应该有一个'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" # 在这里放你的"top",如果你有多个 - 那就继续 hdf5_data_param { source: "/path/to/train.txt" # 这里只放列表文件。 } include { phase: TRAIN }}
如你所见,'/path/to/first.h5'
并未在train.prototxt
中明确列出,只在train.txt
中列出。