Keras 根据批次号获取批次输入张量

Keras 根据批次号获取批次输入张量,keras,Keras,如何在批处理结束时触发的回调中访问给定批处理的输入数据?我可以找出批号,但那只是一个整数。我想访问输入层的输入张量,换句话说,就是批处理的训练数据。这取决于给定的历元,因为每个新历元都会对数据进行洗牌。不会传递输入,因此无法从参数中删除数据。一种选择是访问数据并根据提供的批次索引自己计算数据点: def on_batch_end(self, batch, logs={}): dpoints = data[batch * batch_size:(batch + 1) * batch_size]

如何在批处理结束时触发的回调中访问给定批处理的输入数据?我可以找出批号,但那只是一个整数。我想访问输入层的输入张量,换句话说,就是批处理的训练数据。这取决于给定的历元,因为每个新历元都会对数据进行洗牌。

不会传递输入,因此无法从参数中删除数据。一种选择是访问数据并根据提供的批次索引自己计算数据点:

def on_batch_end(self, batch, logs={}):
  dpoints = data[batch * batch_size:(batch + 1) * batch_size]

如果您的数据不是全局的,您也可以在创建回调时将其设置为类字段。

这正是我的问题。如何访问历元的无序数据?如果使用model.fit,则无法访问。无序索引是封装的。因此,您需要实现自己的数据序列,您可以使用它来获取批处理。