2016-05-06 106 views
1

片张我想切片张量的指数列表以获得特定的张量,例如:出现错误时TensorFlow

word_weight = tf.get_variable("word_weight", [20]) 
a= word_weight[ [1,6,5] ] 

(我想word_weight[1], word_weight[6], word_weight[5]

,但我得到当我运行上面的代码时出错。

提高ValueError异常( “形状%s必须有秩%d” %(自我,秩)) ValueError异常:形状(16491)必须有秩3

回答

1

第一,评价张量。然后,您可以对其进行索引:

import tensorflow as tf 

word_weight = tf.get_variable("word_weight", [20]) 

with tf.Session() as sess: 
    tf.initialize_all_variables().run() 
    x = sess.run(word_weight) 
    print(x[[1,6,5]]) 
    # Or evaluete like this 
    print(sess.run([word_weight[1],word_weight[6],word_weight[5]])) 

此输出:

[ 1.61491954 0.66727936 -0.73491937] 
+0

我可以评估它们的索引后张量?即X = word_weight [[1,6,5]],y = sess.run(X) –

+0

@NilsCao这可能工作:x = sess.run([word_weight [1],word_weight [6],word_weight [5] ]) print(x)。我在答案中加入了。 –

+0

Can x = sess.run(word_weight [[1,6,5]])也可以工作吗?对不起,我现在不在电脑附近。 –

相关问题