問題タブ [emcee]
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 - シミュレーションのパラメータのアンパック
私は多くの ODE シミュレーションを行っており、パラメーターをリストとして渡す必要があるいくつかの python パラメーター最適化ツール (例: scipy.optimize.minimize、emcee ) を使用しています。シミュレーションでの役割を実際に説明するより直感的な名前とは対照的に、パラメータを 、 などparams[0]
と呼ぶ必要があるため、これは非常に面倒です。params[1]
これまでの私の解決策は、次のようなものでした。
これは本当に厄介で、多くの理由で満足できません。シミュレーションに新しいパラメーターを追加する必要があるときはいつでも、params リストを変更し、シミュレート関数内でリストを手動でアンパックする方法を変更する必要があります。シミュレーションなどのラウンドごとに新しい参照を作成するのに時間がかかります。
パラメータを名前で定義し、それらをリストとして関数に渡し、リスト内の同じ名前でそれらを参照するための、正気で手間のかからない解決策があるかどうか疑問に思っています。
python - emcee 使用時の関数定義の構文エラー
emcee モジュールを使用してディストリビューションを再作成しようとしています。これが私のコードです:
lnpop を定義すると、構文エラーが発生します。何が問題なのですか?これが関数を定義する正しい方法だと思いました.....
python - 配列の合計サイズは変更しないでください
emcee という Python モジュールを使用してディストリビューションをサンプリングしています。以下の関数に呼び出される (37,100) (それぞれ Ntrig と Nsamp という名前を付けた) 配列を渡す必要がありevents
ます。
エラーが発生し続けます:
私が理解*events
しているように、events
配列を 37*100 個の個別の引数に分割します。配列を再形成する次の行では、配列を 37 x 100 の配列に戻すべきではありませんか?
PSなぜわざわざevents
個別の引数に分割するのかと尋ねる前に、モジュールが機能するためにこれが必要であり、配列を取ることはできません。
完全なトレースバック エラー:
python - TypeError: 'numpy.ndarray' オブジェクトは呼び出し可能ではありません
Dan Foreman-Mackley の「emcee」Python モジュールに詳しい人がいるかどうかはわかりませんが、ディストリビューションのサンプルとして使用しています。私のディストリビューションはファンキーに見えるので、Parallel Tempering サンプラーを使用しています。関連するコードは次のとおりです。
「numpy.ndarray」オブジェクトが呼び出せないというエラーが表示され続けます。完全なエラーは次のとおりです。
更新: lnlike および lnprior 関数は次のとおりです。
python - クラス内の emcee ライブラリで multiprocessing を使用する
私はemceeライブラリを使用してモンテカルロマルコフチェーンをクラス内に実装し、マルチプロセッシングモジュールを機能させようとしましたが、そのようなテストコードを実行した後:
次のエラー メッセージが表示されました。
クラスでマルチプロセッシングを使用した方法と関係があると思いますが、クラスの構造をそのまま維持し、同時にマルチプロセッシングも使用する方法がわかりませんでした??!!
ヒントをいただければ幸いです。
threads=10
PS最後の関数から削除すると、コードが完全に機能することに言及する必要があります。