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:
importnumpy 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...