【发布时间】:2016-10-04 18:41:12
【问题描述】:
我想更新值为 0 的 2D 张量中的索引。所以 data 是一个 2D 张量,其第 2 行第 2 列索引值将被 0 替换。但是,我收到了类型错误。谁能帮帮我?
TypeError: Input 'ref' of 'ScatterUpdate' Op 需要左值输入
data = tf.Variable([[1,2,3,4,5], [6,7,8,9,0], [1,2,3,4,5]])
data2 = tf.reshape(data, [-1])
sparse_update = tf.scatter_update(data2, tf.constant([7]), tf.constant([0]))
#data = tf.reshape(data, [N,S])
init_op = tf.initialize_all_variables()
sess = tf.Session()
sess.run([init_op])
print "Values before:", sess.run([data])
#sess.run([updated_data_subset])
print "Values after:", sess.run([sparse_update])
【问题讨论】:
-
一般来说,根据更新的复杂程度以及您是否计划将此过程作为大图的一部分,您可能需要查看
tf.py_func,这是一个允许您在 tf 图中添加 numpy 操作。
标签: python neural-network tensorflow deep-learning