将一维张量的元素除以相应的索引
Divide elements of 1-D tensor by the corrispondent index
我在 python 2.7.
中使用 Tensorflow
我有一个像这样的二进制 1-D 张量:
a = [ 1 , 0, 1, 0, 1]
我想计算张量的每个元素与相应索引的比率之和。
例如,我需要计算:
[ 1/1 + 0/2 + 1/3 + 0/4 + 0/5 ]
是否有 Tensorflow 函数可以做到这一点?
您可以使用 tf.range 和 / 运算符,例如
# a is your 1-D binary tensor
r = tf.range(1, a.get_shape()[0].value)
result = a / r
注意:a和r必须是同一类型
您可以使用 tf.shape
或 Dzjkb 的答案 get_shape
来获取张量大小。
import tensorflow as tf
sess = tf.Session()
x = tf.constant([1,0,1,0,1])
y = tf.range(1, tf.shape(x)[0] + 1)
#y = tf.range(1, x.get_shape()[0].value + 1)
z = x / y
sess.run(z)
输出:
array([ 1. , 0. , 0.33333333, 0. , 0.2 ])
我在 python 2.7.
中使用 Tensorflow我有一个像这样的二进制 1-D 张量:
a = [ 1 , 0, 1, 0, 1]
我想计算张量的每个元素与相应索引的比率之和。
例如,我需要计算:
[ 1/1 + 0/2 + 1/3 + 0/4 + 0/5 ]
是否有 Tensorflow 函数可以做到这一点?
您可以使用 tf.range 和 / 运算符,例如
# a is your 1-D binary tensor
r = tf.range(1, a.get_shape()[0].value)
result = a / r
注意:a和r必须是同一类型
您可以使用 tf.shape
或 Dzjkb 的答案 get_shape
来获取张量大小。
import tensorflow as tf
sess = tf.Session()
x = tf.constant([1,0,1,0,1])
y = tf.range(1, tf.shape(x)[0] + 1)
#y = tf.range(1, x.get_shape()[0].value + 1)
z = x / y
sess.run(z)
输出:
array([ 1. , 0. , 0.33333333, 0. , 0.2 ])