を引き起こし配列要素を取得し、私は数字の配列にnumpy.exp
を適用すると、私は以下のランタイムの警告を取得:今、私はこの配列内のいくつかの値がオーバーフローするexp
の結果を引き起こしたことを知っているは、実行時の警告
RuntimeWarning: overflow encountered in exp
を私はどちらが1つ(そしてこのアレイには何百万ものエントリがある)がわからない。
このランタイム警告をより冗長にする方法は、オーバーフロー(さらに重要なのは入力配列内の位置)を引き起こした特定の引数も表示するという意味でですか?私はseterrとseterrcallを発見しましたが、にはというエラー(エラーの内容のみ)が含まれているようには見えません。この警告に遭遇した後に - - 私はexp
に別々のアレイ内の各値を渡すことができ、警告のためか、私はexp(array)
の要素をテストするためにisfiniteを使用することができることに注意
私がいることを知っています。しかし、これは実際のコードを乱すことを意味しますが、私はnumpyがこの種のものを場面の裏で(適切に構成されている)行うことを好むでしょう。
編集:私は、エラーを再現するいくつかのコードをポストするように頼まれた。ここでは、次のとおりです。
>>> import numpy
>>> array = numpy.zeros((10,), dtype=float)
>>> array[0] = 1.0e308
>>> numpy.exp(array)
__main__:1: RuntimeWarning: overflow encountered in exp
array([ inf, 1., 1., 1., 1., 1., 1., 1., 1., 1.])
私はそれが(オーバーフローがどこかで起こっていないだけという)オーバーフローさせ、インデックス0
を持つ要素であったことを知っていただきたいと思います。
以下のすべての値は、あなたのコードの一部を投稿することができ、あなたの配列から削除しますか?あなたは今まで何をしていますか? – Jarvis
シナリオを再現するスニペットを追加しました。 –
'dtype = float'を' dtype = float128'に変更してみてください。 @a_guest – Jarvis