2

Pythonのppモジュールを使用しています。私がする必要があるのは、「scipy.optimize」の「fmin」関数を並行して実行することです。次のように fmin をインポートしています。

from scipy.optimize import fmin

次に、次のように fmin 関数を実行する関数を定義しています。

def fitting():
v = fmin(e, v0, args=(x,y),maxiter=10000, maxfun=10000)
return v

そして、これを並行して実行するために、私は以下を使用しています:

job5 = job_server.submit(fitting, (e, v0, x, y,), (fitting,), ("scipy.optimize",))
v = job5()

次に、job5 のモジュールで PicklingError を取得します。それは「scipy.optimize」だと思います。私も試しimport scipy.optimize as sthましたが、job_server.submit は「sth」をモジュールとして受け入れません。解決策はありますか?

ありがとうございました。

4

2 に答える 2

0

from scipy.optimize import fminimport 行をfitting関数に直接入れて、 に渡すのをやめますsubmit

于 2012-12-22T18:05:49.643 に答える
0

ppこれは非常に簡単に行うことはできません。ただし、使用dillし、そのフォークがpp(pathosつまりpathos.pp) にある場合は、ほとんどの場合に機能します。

mysticscipy オプティマイザーの拡張機能を使用して並列および分散最適化を提供する最適化パッケージのいくつかの例を参照してください。

たとえば、これは と の両方pathos.multiprocessingで機能しますpathos.pp: https://github.com/uqfoundation/mystic/blob/master/examples/buckshot_example06.py

上記のコードは、いくつかのfmin_powellインスタンスを並行して起動します。これにより、最急降下速度で疑似グローバル最適化を行うことができます。

ここでコードを入手してください: https://github.com/uqfoundation

于 2014-12-15T14:12:26.497 に答える