【问题标题】:What is happen when the number of file smaller than batch in HDF5HDF5中文件数量小于批处理时会发生什么
【发布时间】:2017-05-16 13:42:48
【问题描述】:

我有一个 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个文件馈入网络吗?

【问题讨论】:

    标签: machine-learning neural-network deep-learning caffe


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。我的 hdf5 包含一个图像。例如,3D 图像。
    • 那么每个批次将包含两个图像的两个副本。在这种特殊情况下,我认为设置 batch_size: 2 更有意义。 @user8264
    • 谢谢。因为数据量太大,所以需要在图像中随机裁剪一个区域。因此,我使用的批量大小为 4。虽然一个文件可以选择两次,但选择的区域可能不同。有意义吗?
    • @user8264 从您的描述中很难理解,但是如果每个样本在网络中以不同的方式处理,那么有两个样本的 batch_size: 4 可能是有意义的。
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2017-11-28
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2015-12-25
    相关资源
    最近更新 更多