我在google colab中的tensorflow中进行了一些练习,并尝试了一些渴望执行的事情。当我通过运行以下代码在tf.case
上进行练习时:
x = tf.random_normal([])
y = tf.random_normal([])
op = tf.case({tf.less(x,y):tf.add(x,y), tf.greater(x,y):tf.subtract(x,y)}, default = tf.multiply(x,y), exclusive = True)
我仔细地遵循了tf.case中的示例,但是它一直在报告属性错误:
AttributeError: Tensor.name is meaningless when eager execution is enabled.
我是python和TF以及深度学习的新手。任何人都可以尝试运行上面的代码来帮助我找出答案吗?
谢谢
答案 0 :(得分:0)
我找到了答案。在tf.case中,不要为第一个参数使用字典。而是使用包含一系列元组的列表,如下所示:
#under eager execution
op = tf.case([(tf.less(x,y),tf.add(x,y)),(tf.greater(x,y),tf.subtract(x,y))], default = tf.multiply(x,y), exclusive = True)