問題タブ [dill]

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 投票する
4 に答える
23527 参照

python - マルチプロセッシングとディルは一緒に何ができますか?

multiprocessingPython でライブラリを使用したいと考えています。悲しいことに、multiprocessingクロージャpickle、ラムダ、または__main__. この3つは私にとって重要です

幸いなことにdill、より堅牢なピクルスがあります。どうやらdillピクルを機能させるためにインポート時に魔法を実行します

私はマルチプロセッシングのソース コードにアクセスできないため、これは非常に心強いことです。悲しいことに、私はまだこの非常に基本的な例を機能させることができません

どうしてこれなの?私は何が欠けていますか?multiprocessing+のdill組み合わせの制限は正確には何ですか?

JFセバスチャンの仮編集

0 投票する
2 に答える
1125 参照

serialization - mpi4py: 組み込みのシリアル化を置き換えます

MPI4PY の組み込みのシリアル化を dill に置き換えたいと思いPickleます。ドキュメントによると、クラス _p_Pickle には と という 2 つの属性が必要dumpsですloads。ただし、Pythonは、次のことを試すと、そのような属性はないと言います

-> AttributeError: タイプ オブジェクト 'mpi4py.MPI._p_Pickle' には属性 'dumps' がありません

どこdumpsloads行きましたか?

0 投票する
2 に答える
6591 参照

serialization - IPythonにディルをインストールするには?

最初に試してみconda install dillましcondaたが、インターネット上で見つけることができませんでした。

次に、両方.tgz.zipファイルをデフォルトの IPython ディレクトリにダウンロードしました: https://pypi.python.org/pypi/dill

その後、次のコマンドを試し
conda install dill-0.2b1.zip
conda install "C:\<rest_of_the_complete_path>\dill-0.2b1.zip"
ました.tgz。4回の試行すべてでエラーが発生しました:
No packages found matching:

私が間違っているのは何ですか?次のリンクにある例を繰り返そうとしています: http://nbviewer.ipython.org/gist/minrk/5241793

編集 1: https://pypi.python.org/pypi/dillからファイルをdill実行してシステムにインストールしました。このステップは、システム python ( ) にインストールされましたが、Anaconda Python にはインストールされませんでした。通常のモジュール (たとえば) を両方にインポートできるため、これら 2 つの pythonは別のものであると想定しています。私のIPythonノートブックにはありません。.exedillC:\Python27numpycmddillcmd

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

parallel-processing - load_balanced_view でピクルの代わりにディルを使用するにはどうすればよいですか

IPython を使用して、ピクルスの代わりに dill を並列に使用できることを知っています。

しかし、どうすればそれを有効にできdv.load_balanced_view()ますか?

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

python - Python で Pathos を使用した大きなオブジェクトのマルチプロセッシング

コンピューターの複数の CPU を利用しようとしています。ただし、BeautifulSoupオブジェクトの一部として関数によって返されるSQLAlchemyオブジェクト は、pickle または cPickle で pickle 化できないため、任意の python オブジェクトを pickle できるように使用するパッケージのフォークであるpathosを使用しています。ピクルできないオブジェクトでディルをテストしたところ、うまくいったので、問題は解決すると思いました。ただし、pathos を使用すると、以前と同じ問題が発生します。主に、関数は完了しますが、結果は返されません。which complete で確認しましたが、multiprocssingdillpool.mapresults = pool.amap(myfunc, myarglist)results.get()そうではありません。残念ながら、このページの html を投稿することはできず (公開されていません)、再現可能な問題の例を見つけることができませんでした。この回答には、大きなオブジェクトのマルチプロセッシングをトラブルシューティングするための関数が含まれていますが、残念ながら、それ自体Queueでは実装されていないようですpathos(おそらくpool.map関数内のフードの下でのみ)。私は0.2a1.devpython 2.7でpathosのバージョンを使用しています(ソースからコンパイルする前にpipで依存関係がインストールされています)。キーボード割り込みのトレースバックは次のとおりです。

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

python - Dill を使用した Load Object での Python TypeError

後で使用するために、大きくて (おそらく非常に) pickle 化できないオブジェクトをファイルにレンダリングしようとしています。

側に苦情はありませんdill.dump(file)

しかし、ファイルをロードしようとしてい.pklます:

次のエラーを返します。

class objectAudioObject は、上記の呼び出しが行われるよりもはるかに複雑 (かつ大きい) であり( SO answerから)、2 番目の引数を 経由dillで送信する必要があるかどうかは不明です。または、この特定のオブジェクトに対して酸洗いへのアプローチが実行可能かどうかを判断する方法。

オブジェクト自体を少し調べます。

戻り値:

そして、これを含む(または明らかに指し示す)audiofile.analysisという属性が含まれているようですaudiofile.analysis.sourceaudiofile.analysis.source.analysis