我有一个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会循环遍历所有样本,直到达到训练/测试迭代次数为止。