tensorflow 將數值限制在一定范圍內


在使用tf.log時,如果輸入為0.則loss為nan

這時使用 tf.clip_by_value(1-y,1e-10,1.0)將一個張量中的數值限制在一個范圍之內。(可以避免一些運算錯誤:可以保證在進行log運算時,不會出現log0這樣的錯誤或者大於1的概率)

tf.clip_by_value(1-y,1e-10,1.0)

參數:(1)1-y:input數據(2)1e-10、1.0是對數據的限制。
當1-y小於1e-10時,輸出1e-10;
當1-y大於1e-10小於1.0時,輸出原值;
當1-y大於1.0時,輸出1.0;

比如tf.log(tf.clip_by_value(tf.sigmoid(self.scores),1e-8,1.0)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM