【发布时间】:2021-05-07 07:55:50
【问题描述】:
我对@987654321@的文档有点困惑
上面写着:
batch_size:整数或无。每次梯度更新的样本数。如果未指定,batch_size 将默认为 32。如果您的数据是数据集、生成器或 keras.utils.Sequence 实例的形式(因为它们会生成批次),请不要指定 batch_size。
我想,当我训练(或预测)我的模型时,我必须提供一些数据,而且我必须分批进行。
例如,如果我的神经网络的输入大小是 (2),那么我可以给出:
inputs = np.ones((1,2))
my_model.fit(inputs, target_output)
#or this:
inputs = np.ones((10,2))
my_model.fit(inputs, target_output)
#but never this:
inputs = np.ones((2))
my_model.fit(inputs, target_output)
我的问题:
所以当我调用my_model.fit() 时,如果我在调用中提供的批处理已经具有定义的大小,为什么我还想另外提供batch_size?
编辑:我已经考虑过了。如果inputs 是我放入my_model.fit() 的数据,假设它包含1000 个示例,那么我是否可以指定在这1000 个示例中我只想使用100 个(随机?)示例进行设置batch_size=100 的训练?如果这是真的,我为什么不事先提取样本,而只将样本提供给my_model.fit()
方便吗?
Edit2:我已经知道,我需要为批量大小增加额外的维度,正如 this question 中所回答的那样。
【问题讨论】:
标签: python tensorflow