当前位置: 首页 > 知识库问答 >
问题:

如何获取Keras模型中包含的TensorFlow操作

越勇
2023-03-14

我有一个TensorFlow Keras模型(TensorFlow 2.6.0);下面是一个基本示例:

import tensorflow as tf

x = inp = tf.keras.Input((5,))
x = tf.keras.layers.Dense(7, activation="relu")(x)
x = tf.keras.layers.Dense(1)(x)
model = tf.keras.Model(inp, x)

我想得到所有的tf。操作对象在模型的图中,选择特定的操作,然后创建一个新的tf。函数或tf.keras。建模,在任意输入上输出这些张量的值。

例如,在我上面的简单模型中,我可能希望获得所有relu运算符的输出。我知道在这种情况下,我可以重新定义模型,将该层的输出作为模型的另一个输出,但这里的要点是,我已经有了模型(比上面复杂得多),我想找到一些特定的操作符来获得模型的输出。

共有1个答案

戚升
2023-03-14

您是否尝试过:

all_ops = tf.get_default_graph().get_operations()

如果您有一个空列表,并且使用Tensorflow 2.x,您可以尝试以下方法:

import tensorflow as tf
print(tf.__version__)
tf.compat.v1.disable_eager_execution() # disable eager execution

a = tf.constant([1],name='aa')
print(tf.compat.v1.get_default_graph().get_operations())
print(tf.compat.v1.get_default_graph().get_tensor_by_name('aa:0'))
 类似资料:
  • 我似乎无法理解学习率的价值。我得到的是下面。 我已经尝试了200个epoch的模型,并希望查看/更改学习速率。这不是正确的方法吗?

  • 08-10 11:56:28.905 280 66-28066/android.example.com.TFLiteCamerademo E/MultiWindowProxy:getServiceInstance失败!08-10 11:56:35.675 280 66-28092/Android.example.com.TFLiteCamerademo E/AndroidRuntime:致命异常:

  • 我目前正在尝试将RNN模型转换为TF lite。在多次尝试失败后,我尝试运行此处存储库中给出的示例。由于层定义位置的变化,这也引发了错误。一旦修复了下面的代码 我继续出错 在使用tf.compat.v1.disable\u eager\u execution()禁用渴望执行后,我得到了错误 有人有在TensorFlow 2.0中将RNN(LSTM、GRU、CustomRNN)转换为TFLite的工

  • 在使用进行实验时,我在将转换为时遇到了一个问题。 这是我的设置: 如果有人能解释转换失败的原因,那就太好了。

  • 问题内容: 我正在按照本教程学习TensorFlow Slim,但是在运行以下代码进行Inception时: 我似乎收到这组错误: 这很奇怪,因为所有这些代码均来自其官方指南。我是TF的新手,我们将不胜感激。 问题答案: 使用1.0发行版时,我遇到了同样的问题,我可以使其工作而不必回滚到先前版本。 问题是由api的更改引起的。这次讨论帮助我找到了解决方案:Google组> TensorFlow中的