LinearAlgebraError: SVDが収束しなかった(PYTHON)
まず、逆行列を求めるように見える関数ですが、やはり擬似的な逆行列であることに注意しましょう。
ここでは、この関数について説明します。
numpy.linalg.pinv¶
numpy.linalg.pinv(a, rcond=1e-15)[source]
Compute the (Moore-Penrose) pseudo-inverse of a matrix.
Calculate the generalized inverse of a matrix using its singular-value decomposition (SVD) and including all large singular values.
Changed in version 1.14: Can now operate on stacks of matrices
Parameters:
a : (..., M, N) array_like
Matrix or stack of matrices to be pseudo-inverted.
rcond : (...) array_like of float
Singular values smaller (in modulus) than rcond * largest_singular_value (again, in modulus) are set to zero. Broadcasts against the stack of matrices
Returns:
B : (..., N, M) ndarray
The pseudo-inverse of a. If a is a matrix instance, then so is B.
Raises:
LinAlgError
If the SVD computation does not converge.
入力Aについては、行列であることが必須であり、内容は問わない。
さらに掘り下げると、このエラーの原因はSVD関数のエラーであり、その言葉の通り収束しないのです。
続く魔法のようなエラー
ここで
それはいけないということです。
それから、上のリンクを注意深くたどって下を見ると、最後の方に反復回数を修正するように書いてあります。正確な場所は以下を参照してください。
File: Src/dlapack_lite.c
Subroutine: dlasd4_
Line: 22562
まず、githubでnumpyのソースコードをダウンロードし、下図のディレクトリをたどっていきます。
ここには2つの.Cファイルがあり、前回の解決策ではdlapack_lite.cの22562行目を変更するようにと書かれています。
恥ずかしながら、私がダウンロードしたバージョンでは合計359行しかありません...。
そこで、unmath_linalg.c ファイルを修正してみました。
でも、全部でそんなに行数は多くないんですよね。
そこで、2256行に位置づけました。
彼の上に数行のコードを発見。
最初の緑色の単語のop_countを直前で変更しようとしたら、魔法のようにエラーが爆発した
セグメンテーションの不具合
という意味です。
セグメンテーションエラーとは、アクセスしたメモリが、システムからプログラムに与えられたメモリ領域を超えてしまうことです
. それで大体終わりで、また変更方法を考える。
修正後、ソースインストールを使って実行。
pip setup.py install
次に、自分のプログラムを再実行します。理論的には、成功するはずです。
ロードが終わったところですが、もう成功しませんでした。
翌日、再実行、通過できた。
途中、ランダムな処理が入ることもありますが、とにかく走り抜けることができる場合があります。さらに数回トライ
また 誰か 自分では試していない。マシンを変更することはできない。
関連
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み】Python 3でexecfileに代わるものは何ですか?
-
[解決済み] Pythonのmatplotlibで日付をX軸にプロットする
-
[解決済み] Pythonの並列リストの意味するところ
-
[解決済み] scikit-learnのcross_val_predictの精度スコアはどのように計算されるのですか?
-
[解決済み] Python 関数間の変数の受け渡し
-
[解決済み] Python subprocess.Popen() 完了待ち [重複]。
-
EnvironmentErrorのため、パッケージをインストールできませんでした。
-
args','**','**kwargs' を理解する。
-
python 3.x エラー 'generator' オブジェクトに 'next' 属性がありません。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PyCharmの未解決参照問題
-
[解決済み] テスト
-
[解決済み】RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility.
-
[解決済み] ImportError: scipyという名前のモジュールがない
-
[解決済み] clang error: unknown argument: '-mno-fused-madd' (pythonパッケージのインストールに失敗しました)
-
[解決済み] django:django.core.exceptions.AppRegistryNotReady: アプリはまだロードされていません
-
[解決済み] 引数のアンパッキング:名前付き引数のみが*式の後に続くことができます。
-
[解決済み] TypeError: 文字バッファオブジェクトを期待した - 整数をテキストファイルに保存しようとしている時
-
[解決済み] printoptions フォーマッタが複素数の配列の単一要素に対して機能しない
-
NameError:名前 'xrange' が定義されていません。