Several simple examples showing the usage of scatter_nd_sub

scatter_nd_sub

Example 1: subtraction at the second dimension, [0,1], which corresponding to a vector.

>>> ref = tf.Variable(tf.ones([2,3,3],tf.int32))        
>>> indices = tf.constant([[0,1]])
>>> updates = tf.constant([[1,1,1]])    
>>> init = tf.global_variables_initializer()
>>> sess.run(init)
>>> print(ref.eval())
[[[1 1 1]
  [1 1 1]
  [1 1 1]]

 [[1 1 1]
  [1 1 1]
  [1 1 1]]]
>>> print(updates.eval())
[[1 1 1]]
>>> update = tf.scatter_nd_sub(ref,indices,updates)
>>> sess.run(update)
array([[[1, 1, 1],
    [0, 0, 0],
    [1, 1, 1]],

   [[1, 1, 1],
    [1, 1, 1],
    [1, 1, 1]]], dtype=int32)

Example 2: subtraction at the third dimension, [0,1,2], which points to a single element.

>>> ref = tf.Variable(tf.ones([2,3,3],tf.int32))
>>> indices = tf.constant([[0,1,2]])
>>> updates = tf.constant([1])
>>> init = tf.global_variables_initializer()
>>> sess.run(init)
>>> print(ref.eval())
[[[1 1 1]
  [1 1 1]
  [1 1 1]]

 [[1 1 1]
  [1 1 1]
  [1 1 1]]]
>>> print(updates.eval())
[1]
>>> update = tf.scatter_nd_sub(ref,indices,updates)
>>> sess.run(update)
array([[[1, 1, 1],
    [1, 1, 0],
    [1, 1, 1]],

   [[1, 1, 1],
    [1, 1, 1],
    [1, 1, 1]]], dtype=int32)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值