Python 在Keras';时间经验发生器?

Python 在Keras';时间经验发生器?,python,keras,Python,Keras,我正在使用5个类的视频分类,并使用时间分布的CNN模型。train数据集包含8个视频,每个视频包含75帧。我使用了Keras的TimeSeriesGenerator,其中长度等于75,因为每个视频包含75个序列。但是,我似乎不清楚在这种情况下批量大小应该是多少 from keras.preprocessing.sequence import TimeseriesGenerator train_sequences = TimeseriesGenerator(train_data, train_la

我正在使用5个类的视频分类,并使用时间分布的CNN模型。train数据集包含8个视频,每个视频包含75帧。我使用了Keras的TimeSeriesGenerator,其中长度等于75,因为每个视频包含75个序列。但是,我似乎不清楚在这种情况下批量大小应该是多少

from keras.preprocessing.sequence import TimeseriesGenerator
train_sequences = TimeseriesGenerator(train_data, train_labels, length=75, batch_size=1)

有人能告诉我这个任务应该考虑什么样的批量大小吗?

批量大小定义了在模型的每次迭代中引入的视频样本数量。批量大小不同值之间的差异是模型重量的优化。如果批量大小等于3,模型将输入3个样本视频,只有在这3个输入之后,它才会更新权重

批量大小没有最佳值。就像没有免费的午餐一样。我建议你尝试不同的价值观,寻找最好的结果

在定义批次大小时存在约束:

  • 如果该值很小,则需要更少的内存,而且速度可能更快,因为您的模型要求的样本更少。否则,梯度估计将不太准确
  • 如果该值较大,梯度的估计将更精确,但它将需要更多内存,并且可能会更慢

因此,您必须在grandient的估计精度和计算资源使用率之间找到一个最佳值

批量大小定义了将在模型的每次迭代中引入的视频样本数。批量大小不同值之间的差异是模型重量的优化。如果批量大小等于3,模型将输入3个样本视频,只有在这3个输入之后,它才会更新权重

批量大小没有最佳值。就像没有免费的午餐一样。我建议你尝试不同的价值观,寻找最好的结果

在定义批次大小时存在约束:

  • 如果该值很小,则需要更少的内存,而且速度可能更快,因为您的模型要求的样本更少。否则,梯度估计将不太准确
  • 如果该值较大,梯度的估计将更精确,但它将需要更多内存,并且可能会更慢

所以你必须在grandient的估计精度和计算资源使用率之间找到一个最佳值

这意味着如果我有一个500个视频的数据集,如果我将64个视频分配给batch_size,那么我的模型每次迭代都会引入64个视频样本,对吗?这意味着如果我有一个500个视频的数据集,如果我将64个视频分配给batch_size,我的模型每次迭代都会引入64个视频样本,对吗?