2017-05-07 1363 views

回答

0

您可以使用tf.clip_by_value

import tensorflow as tf 

a = tf.random_uniform(shape=(2, 3, 3), minval=-1, maxval=3) 
b = tf.clip_by_value(a, 0, 1) 

with tf.Session() as sess: 
    A, B = sess.run([a, b]) 
    print A, '\n' 
    print B 

這裏一切上面1將成爲1,一切都低於0爲0。一切將保持不變。

也看看這個answer它做了類似的事情,但一切都轉換爲0或1:

+0

然而,在我的張量的內容是概率,所以它已經在區間[0,1]。我想要做的就是設置一個0.9的閾值,0.9以上的所有值都將變爲1,0.9以下的所有值都將變爲0. –

+0

1)我應該如何從你的問題中猜出這個問題? 2)你讀過我鏈接的問題嗎?它解決了你所描述的問題。 –

+0

對不起我的疏忽。還有一個問題。在你提供給我的答案中,我必須使用sess.run(),那麼我可以得到正確的結果?但是,在我的代碼中,我已經定義了一個圖表和一些placaholder。如果我寫了類似sess.run(pred)的東西,我會得到錯誤消息: –