亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

tensorflow的reduce_mean()給出一個近似值(不是精確值)

tensorflow的reduce_mean()給出一個近似值(不是精確值)

狐的傳說 2023-03-16 09:10:22
我正在制作一個損失函數,我在其中使用了tf.reduce_mean(). 但它返回一個近似值。我的代碼如下:import tensorflow as tfreal = [[1.0], [0.3]]pred = [[0.8], [0.2]]loss_object2 = tf.keras.losses.mean_squared_errordef loss_function(real, pred):    loss_ = loss_object2(real, pred)    print(loss_)    return tf.reduce_mean(loss_)loss_function(real, pred)給出以下輸出:tf.Tensor([0.04 0.01], shape=(2,), dtype=float32)<tf.Tensor: shape=(), dtype=float32, numpy=0.024999999>這應該只是回歸0.025,為什么要回歸0.024999999?
查看完整描述

1 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

IEEE 754-2008 浮點運算標準的第 3.2 條說“浮點運算是實數運算的系統近似……”

浮點運算旨在逼近實數運算。如果沒有對浮點格式和算術規則有透徹的理解,就不要指望得到準確的結果。

在用于 的 IEEE 754 binary32 格式中float32,最接近 .04 的可表示值是 0.039999999105930328369140625 (5368709?2 ?27 )。最接近 .01 的可表示值是 0.00999999977648258209228515625 (5368709?2 -29 )。當使用 IEEE 754 規則將它們相加并除以二時,結果為 0.024999998509883880615234375 (3355443?2 -27 )。


查看完整回答
反對 回復 2023-03-16
  • 1 回答
  • 0 關注
  • 100 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號