我不确定如何在Caffe中训练大量数据。
我尝试使用300k图像训练网络训练数据和100k图像验证数据。我正在使用HDF5,因为我想处理浮动数据。但是,hdf5文件大小有限制。我不能同时处理300k图像,所以我跟它们分开了。
我在下面制作了train.txt。
D:/Dataset/train_0.hdf5
D:/Dataset/train_1.hdf5
D:/Dataset/train_2.hdf5
…
D:/Dataset/train_100.hdf5
并使prototxt调用hdf5文件
layer {
name: "data"
type: "HDF5Data"
top: "data"
top: "label"
hdf5_data_param {
source: "C:/Users/…/data/train.txt"
batch_size: 10
shuffle: true
}
include {
phase: TRAIN
}
}
我不确定这是正确的方法。而且我也不确定如何在求解器中设置bath_size和test_iter,test_interval。 (例如,如果Test的batch_size是10,在test_iter中设置10k是否正确?我认为batch_size×test_iter必须是验证图像的数量,但我认为10k太大了。)
我读了类似的问题(Caffe | solver.prototxt values setting strategy),并尝试了test_iter = 10k。但是当时它没有运行(内存不够),所以我认为我在test_iter上设置了错误的值(我设置的值太大)。 我不知道如何将batch_size和test_iter决定为大型数据集。