首页 > 解决方案 > tf.case 不能正确运行两次

问题描述

我正在使用 google colab 作为学习斯坦福 cs20 tensorflow 课程的工具。我发现了一个关于 tf.case 的奇怪的事情。这是colab 笔记本

该节点簿中的代码很简单并且可以成功运行。然后我更改了以下行:

out_1b = tf.case({tf.less(x1, y1): lambda: tf.add(x1, y1), 
            tf.greater(x1, y1): lambda: tf.subtract(x1, y1)}, 
            default=lambda: tf.constant(0.0), exclusive=True)

我将tf.constant(0.0)更改为tf.constant(0),它会抛出错误,因为类型与预期的不匹配。但是在我将它改回 tf.constant(0.0)之后,它就无法处理以下错误:

 ValueError: Operation 'case_2/cond/Merge' has been marked as not fetchable.

我不得不重新创建一个新会话以使其再次工作。有人能解释一下这种情况背后的原因吗?

标签: tensorflowgoogle-colaboratory

解决方案


推荐阅读