問題タブ [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.
python-2.7 - cv2 が必要な場合 (ただし使用しない場合)、joblib から呼び出せない Nonetype
このエラーは非常に奇妙です。単体テストで n_jobs > 1 で sklearn の Kmeans を使用し、setuptools を使用して cv2 を要求すると、joblib によって None が呼び出されます。
最小限の失敗例:
setup.py :
tests/some_test.py :
tests/__init__.pyは空です。
次に、を実行するたびにpython2.7 setup.py test
、次の出力が得られます。
これがopencv2、sklearn、またはnumpyのバグなのかどうかはわかりません。そのため、ここに行きました。ここで何が起こるか知っている人はいますか?
いくつかの特徴:
"cv2"
から削除するとinstall_requires
、両方のエラーが削除されます- 走っていないのと同義
Kmeans
- n_jobs が提供されていない Kmeans の同上。
- を印刷するとき
atexit.register
、delete_folder
およびpool_folder
エラーの直前には、どれもありませんNone
。
エラーを再現できない場合もコメントしてください:)
python - Scikit-Learn: いくつかの X-Val を並行して使用していますか?
データに対していくつかの異なるモデルを試して相互検証したいので、結果はある程度信頼できます。
私の交差検証では、次のように呼び出します。
これは、10 倍の交差検証を並行して行います。私が実行しているマシンには 40 個のコアと十分なメモリがあるため、「モデル」に 4 つの異なる値を並行して試して、それぞれ 10 倍の交差検証を行いたいと思います。
ただし、次の方法で joblib を使用して実行しようとすると、エラーが発生します。
ここで、crossVal は私が定義したメソッドで、主に cross_val_score の呼び出しで構成されています。
いくつかの異なる python ファイルを手動で開始せずにこれを行うエレガントな方法はありますか?
python - Python joblib を使用したグローバル配列へのアクセスと変更
Python で joblib を使用して一部のデータ処理を高速化しようとしていますが、出力を必要な形式に割り当てる方法を見つけようとして問題が発生しています。発生している問題を示す、おそらく過度に単純化されたコードを生成しようとしました。
その出力は次のようになります。
Google と StackOverflow の検索機能から、joblib を使用すると、グローバル配列が各サブプロセス間で共有されないように見えます。これが joblib の制限なのか、それともこれを回避する方法があるのかはわかりません。
実際には、私のスクリプトは、このグローバル配列の最終出力が (4, x , x ) 形式であることに依存する他のコードに囲まれています。ここでxは可変です (ただし、通常は数百から数千の範囲です)。これが、プロセス全体がx = 2400の場合に最大 2 時間かかる可能性があるため、並列処理を検討する現在の理由です。
joblib の使用は必須ではありません (ただし、命名法と単純さが気に入っています) ので、理想的には最終的な配列の要件を念頭に置いて、簡単な代替方法を自由に提案してください。私はpython 2.7.3とjoblib 0.7.1を使用しています。
python-2.7 - joblib.Parallel を使用したマルチプロセッシング - 自己記述アルゴリズムを並列化するときのエラー
データのモデルに適合する ftrl_proximal() というクラスがあります。これは自作の分類子です (sklearn のものではありません)。
アルゴリズムは、1 つの CPU のみを使用して実行すると完璧に機能しますが、マルチプロセッシング (一種の相互検証) で実行しようとすると、以下に説明するエラーが発生します。コードは次のとおりです。
エラー: