将 KerasTensor 转换为 numpy 数组

Converting KerasTensor to numpy array

我正在尝试将“KerasTensor”转换为 numpy 数组。我试过将 KerasTensor 转换为 tf.Tensor (没有运气)。我也尝试过使用 tensor.numpy()、tensor.eval() 和 keras.backend.eval(tensor) 所有这些都没有用。尝试“.numpy()”和“.eval()”我得到 AttributeError: 'KerasTensor' object has no attribute 'numpy' 错误。如何将提取的 KerasTensor 转换为 numpy 数组或 EagerTensor,以便我可以使用 .numpy() 方法?

张量流版本:2.8.0 凯拉斯版本:2.8.0

感谢帮助

编辑(附加信息):模型是使用 keras functional API 构建的。在 fit() 之后,我通过以下方式提取编码输入: encoded = model.get_layer("encoder_output").output 之后我尝试像上面描述的那样转换“编码”KerasTensor,它确实不工作。

没有可转换为 numpy 的值。

你需要输入才能有输出。

在 keras 中,最好的做法是构建一个子模型。

submodel = Model(original_model.inputs, original_model.get_layer("encoder_output").output)   
results = submodel.predict(numpy_input)