[解決済み] Python RuntimeWarning: ロングスカラーでオーバーフローが発生した
2022-02-02 18:55:13
質問
私はプログラミングの初心者です。最新のPython2.7プロジェクトで、以下のようなことに遭遇しました。
RuntimeWarning: long_scalars でオーバーフローが発生しました。
どなたか、これが何を意味するのか、また、どうすれば解決できるのか、詳しく教えていただけませんか?
コードは通っているのですが、警告を無視するのはどうなんでしょうか。
みたいなアペンド処理中に発生します。
SomeList.append(VeryLongFormula)
解決方法は?
同じ警告を出す例を示します。
import numpy as np
np.seterr(all='warn')
A = np.array([10])
a=A[-1]
a**a
イールド
RuntimeWarning: overflow encountered in long_scalars
上記の例では、以下の理由で発生します。
a
はdtype
int32
に格納される最大値です。
int32
は2**31-1です。このため
10**10 > 2**32-1
に格納できる数よりも大きな数になってしまうので、指数計算を行います。
int32
.
に依存することはできないことに注意してください。
np.seterr(all='warn')
は、すべてのオーバーフローを検出するために
のエラーが発生します。 例えば、32ビットのNumPyでは
>>> np.multiply.reduce(np.arange(21)+1)
-1195114496
64ビットNumPyの場合。
>>> np.multiply.reduce(np.arange(21)+1)
-4249290049419214848
オーバーフローエラーによるものでもありますが、どちらも警告なしで失敗します。正解は、21!イコール
In [47]: import math
In [48]: math.factorial(21)
Out[50]: 51090942171709440000L
<ブロッククオート
真の浮動小数点エラー(ハードウェア FPU が フラグ オーバーフローするようなアトミックな演算をするたびに 整数のオーバーフロー検出を自分たちで実装しています。それを は スカラーを実装することはできますが、配列はできません。 に対して 配列のアトミックな操作のたびに
そのため、適切な
dtypes
オーバーフローしないようにするためです。
関連
-
Pythonコンテナのための組み込み汎用関数操作
-
Python カメの描画コマンドとその例
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
Python Pillow Image.save jpg画像圧縮問題
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です