2016-05-06 107 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]])也可以工作嗎?對不起,我現在不在電腦附近。 –

相關問題