在张量流中,如何为其自身分配张量的变化部分?

时间:2019-06-21 17:51:51

标签: tensorflow

我想在张量流中做类似的事情

some_tensor[0] *= 2

将此张量中的第一个数字加倍。这样做很整洁吗?谢谢。

1 个答案:

答案 0 :(得分:1)

使用tf.scatter_mul()

import tensorflow as tf
import numpy as np

v = tf.Variable(np.ones((2, ), np.float32), trainable=False)
mult_op = tf.scatter_mul(v,
                         indices=tf.constant([0]),
                         updates=tf.constant([2.]))

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(v.eval()) # [1. 1.]
    sess.run(mult_op)
    print(v.eval()) # [2. 1.]
    sess.run(mult_op)
    print(v.eval()) # [4. 1.]