25

次の表現があります。 log = np.sum(np.nan_to_num(-y*np.log(a+ 1e-7)-(1-y)*np.log(1-a+ 1e-7)))

次の警告が表示されます。

RuntimeWarning: invalid value encountered in log
  log = np.sum(np.nan_to_num(-y*np.log(a+ 1e-7)-(1-y)*np.log(1-a+ 1e-7)))

何が無効な値なのか、またはなぜそれが得られるのかわかりません。どんな助けでも大歓迎です。

: これはクロス エントロピー コスト関数であり、1e-7log 内にゼロが含まれないようにするために追加しました。y&aは numpy 配列であり、numpyとしてインポートされnpます。

4

2 に答える 2

3

エラーが発生する可能性がある、 math.log()置換を使用できますnumpy.log()

>>> import numpy
>>> numpy.log(0)
-inf
>>> numpy.__version__
'1.3.0'
>>> import math
>>> math.log(0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error
于 2016-06-02T01:39:47.697 に答える