当 HDF5 中的文件数量小于批次时会发生什么

What is happen when the number of file smaller than batch in HDF5

我有一个 hdf5 层,它从 list.txt 中读取信息,如

layer {
  name: "data"
  type: "HDF5Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  hdf5_data_param {
    source: "./list.txt"
    batch_size: 4
    shuffle: true
  }
}

其中 list.txt 包含两个路径文件

/home/user/file1.h5
/home/user/file2.h5

当批量大小为 4 时。上面的代码发生了什么?数据可以选择4个文件来喂网络吗?

您有两个 hdf5 文件,但每个文件可能包含多个训练示例。因此,实际上,您可能拥有的示例远远超过 batch_size: 4 个。

Caffe 并不真正关心训练示例的实际数量:当它处理完所有示例(又名 "epoch")时,它只是重新开始读取示例。 Caffe 循环遍历所有样本,直到达到 training/testing 迭代次数。