1
我使用的是Python 2.7中的Tensorflow。按照相应索引划分一维张量的元素
我有一个二进制1-d张量这样的:
a = [ 1 , 0, 1, 0, 1]
欲由corrispondent指数计算张量的每个元素的比例的总和。
例如,我需要计算:
[ 1/1 + 0/2 + 1/3 + 0/4 + 0/5 ]
是否有Tensorflow函数,它是什么?
我使用的是Python 2.7中的Tensorflow。按照相应索引划分一维张量的元素
我有一个二进制1-d张量这样的:
a = [ 1 , 0, 1, 0, 1]
欲由corrispondent指数计算张量的每个元素的比例的总和。
例如,我需要计算:
[ 1/1 + 0/2 + 1/3 + 0/4 + 0/5 ]
是否有Tensorflow函数,它是什么?
您可以使用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 ])
您可以使用tf.range和/运营商,像
# a is your 1-D binary tensor
r = tf.range(1, a.get_shape()[0].value)
result = a/r
注:一个和r必须是同一类型的