我发现在目前的keras中,所有的输入数组(x)应该有相同数量的样本。
对于许多多输入和多输出模型,如果我们可以为每个输入定义不同数量的样本(也称为批量大小),则更为可取。
这对于一个输入 X1 比另一个输入 X2“便宜”得多的情况非常重要。
假设现在我有两个输入 X1、X2 和两个输出 Y1、Y2。 Y1 是 X1 的函数,Y2 是 X1,X2 的函数。 映射 X1->Y1 比映射 X1,X2->Y2 训练起来更快(“更便宜”)。 所以我可能想要大批量的 X1 和小批量的 X2。
或者是否有可能破解当前代码,从而使具有不同批量大小的输入成为可能?
期待任何能给我一些建议的人。谢谢!
最佳答案
你可以为你的样本做不同的权重。通过设置样本权重变量 ( https://keras.io/models/model/#fit ),您的训练算法将考虑更便宜的样本。
如果您想训练不同的批处理大小,您需要使用 model.train_on_batch 并传入不同的批处理大小。这实质上意味着您编写自己的拟合循环。
关于deep-learning - Keras 输入数组(x)不能有不同数量的样本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43702508/