将KerasTensor对象转换为numpy数组
我正在为 tensorflow keras 序列模型的 model.fit() 方法编写自定义 on_train_end 回调函数。回调函数是关于绘制模型所做的预测,因此它涉及将模型的输入转换为一个 numpy 数组并将其输入到 model.predict() 中。我使用 self.model.inputs 来访问输入,这是一个 KerasTensor 对象列表,第 0 个索引是我想要的。我尝试了以下方法
class my_visualizer(tf.keras.callbacks.Callback):
def on_train_end(self, logs=None):
x = tf.keras.backend.eval(self.model.inputs[0])
y_predictions = self.model.predict(x)
但得到了错误
AttributeError: 'KerasTensor' object has no attribute 'numpy'
所以这个方法是针对另一种类型的张量而不是 KerasTensor。我发现其他解决方案适用于 tensorflow 的 Tensor 对象,但不适用于 keras 的 KerasTensor 对象,并且我没有在 keras 文档中找到任何提及实现所需功能的方法。谢谢你的帮助!