問題タブ [joblib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2360 参照

python - joblib の中間結果

Pythonjoblibの組み込みモジュールの代替としてモジュールを学習しようとしています。multiprocessing私はmultiprocessing.imapiterable に対して関数を実行し、結果を返すことに慣れています。この最小限の作業例では、joblib でそれを行う方法がわかりません。

どちらが印刷されますか:

出力を見たい:

または同様のもので、イテラブルMP(...)がすべての結果が完了するのを待っていないことを示します。より長いデモの変更n_jobs=-1range(100).

0 投票する
0 に答える
472 参照

python - クラスター内の joblib.load() がファイルをロードできない

はじめ
に 通常のラップトップで実行されるコードを、MPI を使用してクラスター (HPC) に移植しています。
私が扱っているのは、さまざまなファイル パスを多数のワーカーに送信している、恥ずかしいほど並列の問題です。joblib.dump()対応する各ファイルには、関数 withを使用して以前に生成された numpy 配列が 1 つ含まれていますlzma compression=2

詳細
すべてのファイルは同じディレクトリに保存
されます ファイルリストの生成例joblib.dump():
- File1.lzma
- File1.lzma_01.npy.z
- File2.lzma
- File2.lzma_01.npy.z

ワーカーに拡張子が .lmza のファイルへのパス (例: File1.lzma) を渡すと、ワーカーはファイルを読み込めjoblib.load()ず、エラーが発生します。.lzma_01.npy.z でファイルを渡しても同じです。私の推測では、両方のファイルが必要であり、HPC の場合、ファイルが同じディレクトリにあるのに十分ではないためです (私のラップトップで実行されているコードでは十分であり、ファイルは適切に読み込まれます)。

質問
1) 私の仮説は正しいですか?
2) 両方のファイル パスを に渡す方法はありますjoblib.load()か?
3) これは欠落している機能ですか? ファイルを再処理して pickle で保存する必要がありますか?
4) 私は完全に間違っていますか?

ありがとう

0 投票する
1 に答える
4092 参照

python - Pythonクラスのメンバー関数の出力をキャッシュするjoblib.Memoryの使い方

joblib.Memoryライブラリを使用してクラスのメンバー関数の出力をキャッシュしたいと考えています。サンプルコードは次のとおりです。

ただし、次のエラーが表示されます。

メモリまたはその他のデコレータを使用してクラスのメンバー関数をキャッシュする方法はありますか?

0 投票する
0 に答える
1800 参照

python - sklearn RandomForest モデルでの 32/64 ビット シリアル化例外の回避策

64 ビット マシンで joblib を使用してランダム フォレスト モデルをシリアル化し、32 ビット マシンで展開すると、例外があります。

この質問は以前に尋ねられました: Scikits-Learn RandomForrest training on 64bit python wont open on 32bit python . しかし、2014年以降、この質問には回答がありません。

モデルを学習するためのサンプル コード (64 ビット マシン上):

32 ビット マシンで展開するサンプル コード:

私の質問は: 64 ビット マシンで学習し、予測のために 32 ビット マシンに移植する必要がある場合、この問題に対する一般的な回避策はありますか?

編集: joblib の代わりに pickle を直接使用しようとしました。まだ同じエラーがあります。コア pickle ライブラリでエラーが発生します (joblib と pickle の両方)。

0 投票する
0 に答える
363 参照

python - Python で 2D 画像の scikit SVM 分類を効率的に並列化する方法

scikit-learn パッケージを使用して、2D 画像で SVM 分類を行っています。各ピクセルには、分類の基になる 9 つの特徴があります。正常にトレーニングされた classifierがあり、それを使用してその 2D 画像、つまり 3D 配列(Xdim,Ydim,#features)clfの分類を実行したいとします。input最も単純ですが、非常に非効率的な方法では、次のようになります。

このプロセスをスピードアップする効率的な方法は何でしょうか? 上記の例では、分類子に与えられるポイントは 1 つだけですが、ベクトル (#samples X #features) を完全に処理できるため、svm_classification関数はよりスマートな方法で使用する必要があります。「joblib」とその「parallel」モジュール ( https://pythonhosted.org/joblib/parallel.html ) を使用することを考えていましたが、3D 配列でこれを行う方法がわかりません。入力データの自動スライスのチャンクサイズを指定する方法はありますか? 入力配列を手動で再形成する必要がありますか? 自分で正しい答えを見つけられないのは、2D分類画像になるはずの入力データ(3D)の形状にあると思います。正しい方向への提案は大歓迎です!

0 投票する
1 に答える
561 参照

python - 非推奨の Scikit-learn モジュールにより、joblib がそれをロードできない

sklearn.hmm モジュールを使用して joblib で漬け込んだ隠れマルコフ モデルがあります。バージョン 0.17.x では、このモジュールは廃止され、hmmlearn に移動されたようです。モデルをロードできず、次のエラーが表示されます。

ImportError: 'sklearn.hmm' という名前のモジュールがありません

バージョン 0.16.x に戻そうとしましたが、モデルを読み込めません。次のエラーが表示されます。

ImportError: libopenblas.so.0: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません

モデルを再作成して再ピクルするためのソースコードへのアクセス権がありません

私はPython 3.5を実行しています

他の誰かがこの問題を経験し、解決策を見つけましたか? 非推奨以降、scikit-learn に永続性を保証する方法があるかどうかは誰にもわかりませんか?