2

我正在使用 python 3 和 tensorflow 1.12 & eager eval

我正在尝试使用分散更新,如此处所述

我收到以下错误:

AttributeError:“EagerTensor”对象没有属性“_lazy_read”

是否有可用于急切评估的解决方法或其他功能?

4

1 回答 1

2

scatter_update需要变量而不是常量张量:

对变量引用应用稀疏更新。

我猜你传递了一个常量张量scater_update,导致抛出异常。这是一个急切模式的例子:

import tensorflow as tf

tf.enable_eager_execution()

data = tf.Variable([[2],
                    [3],
                    [4],
                    [5],
                    [6]])

cond = tf.where(tf.less(data, 5)) # update value less than 5
match_data = tf.gather_nd(data, cond)
square_data = tf.square(match_data) # square value less than 5

data = tf.scatter_nd_update(data, cond, square_data)

print(data)

# array([[ 4],
#    [ 9],
#    [16],
#    [ 5],
#    [ 6]], dtype=int32)>
于 2019-01-28T10:37:30.907 回答