rod*_*ira 3 machine-learning tensorflow tfrecord
我正在使用TensorFlow 1.2和20G TFRecord文件中的数据集.该TFRecord文件中有大约50万个样本.
看起来如果我选择的值小于数据集中的记录数量buffer_size
,则只使用TFRecord中的前N个记录.https://www.tensorflow.org/api_docs/python/tf/contrib/data/Dataset#shuffle
例如,如果buffer_size = 100
,似乎只使用了前100条记录.
应该buffer_size
始终是数据集的长度?这会影响培训表现吗?
Mat*_*ugi 10
无论您选择何种缓冲区大小,都将使用所有样本,它只会影响随机播放的随机性.
如果缓冲区大小为100,则意味着Tensorflow将保留下一个100个样本的缓冲区,并将随机选择这100个样本中的一个.然后它将下一个元素添加到缓冲区.
所以,如果buffer_size = 1,则根本没有shuffle,如果buffer_size> data_set_size,则保证完美均匀的随机shuffle.
我强烈建议在创建TFrecords 之前对数据集进行洗牌,并保持较小的缓冲区大小.
归档时间: |
|
查看次数: |
6279 次 |
最近记录: |