1. 程式人生 > >ValueError: Input contains NaN, infinity or a value too large for dtype('float32'64)可能的原因

ValueError: Input contains NaN, infinity or a value too large for dtype('float32'64)可能的原因

造成這個錯誤的原因有一下三個:

1:既有可能出現的問題,nan,例如分母為0,或是log(-1)這種明顯違背數學常理的情況

2:無窮值,無窮大或無窮小,例如log(0)就是一個負無窮的數值,無法處理

3:數值超出了float能表達的範圍,以至於無法使用float表達出來

三個原因,從上到下,依次排查,很快就能找到問題的原因。

可以看一下數值的取值範圍,最大最小值等,基本就能找到原因了。