python出現nan的情況分析

2022-08-30 16:42:17 字數 821 閱讀 6273

nan代表not a number(不是乙個數),它並不等於0。

情況一:

0 * float('inf') 結果為:nan

float('inf') / float('inf') 結果為:nan

float('inf') - float('inf') 結果為:nan

float('-inf') - float('-inf') 結果也為:nan

註解:python中的正無窮或負無窮,使用float("inf")或float("-inf")來表示。

float('

nan') + 9999999float(

'nan

') - 9999999float(

'nan

') * 9999999float(

'nan

') * float('

inf'

)float(

'nan

') / float('

inf'

)float(

'nan

') / float('

nan')

結果都是:nan。

情況二:

python mean也會產生nan:

import

numpy as np a=

print(np.isnan(np.mean(a)))

nan來自於numpy中numpy.nan,字面意思應該是not a number。在不同**中有nan,有nan,有nan,但其實他們都一樣的。

訓練網路出現loss為NaN的情況

原因 在學習過程中,梯度變得非常大,使得學習的過程偏離了正常的軌跡。症狀 觀察輸出日誌中每次迭代的loss值,發現loss隨著迭代有明顯的增長,最後因為loss值太大以致於不能用浮點數去表示,所以變成nan。可採取的方法 1.降低學習率,比如solver.prototxt中base lr,降低乙個數...

關於IE下DATE 方法出現Nan的情況。

今天在格式化時間上,在ie8瀏覽器下遇到了出現nan的問題。但是在chorme上確沒有問題。經過除錯發現是date 方法中傳入引數的問題。經過查詢其他人的資訊,尤其是這篇文章。找到了問題所在。但是這裡面有個小的問題。1 2 3 4 5 6 7 8 functionnewdate str str預設傳...

關於js new Date 出現NaN 的分析

簡介 在乙個專案中需要進行日期的格式化,後台傳到前端是時間的整數 date.gettime 當後台資料返回字串時,發現轉換日期時在ie下變成nan,但是真的是這樣嗎?接下來我們慢慢分析。此nan不為nan 程式 如下 var date new date d if date date.getfully...