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必須是同一類型的