問題タブ [openmdao]
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.
openmdao - OpenMDAO 1.x 関連性の削減
グループの残りの部分に入力を提供する出力のない OpenMDAO のコンポーネントがあります。そのコンポーネントの apply_linear は、その出力が接続されていないにもかかわらず呼び出されています。OpenMDAO 1.x の関連性削減アルゴリズムは、このメソッドの apply_linear を呼び出す必要がないことを理解すべきではありませんか?
openmdao - check_total_derivatives での未知数の指定
OpenMDAO v1.x+ で書いたプログラムの Unitest を作成しています。私は check_total_derivatives 関数を使用して導関数を取得し、それらを有限差分と比較してチェックしています。とはいえ、最後の不明は6個くらいチェックする程度で、全部で90個くらいあります。check_total_derivatives 関数にオプションを追加して、関数でチェックする未知数を指定することは可能でしょうか? 現在、すべてを完了するには非常に長い時間がかかります。私は自分のバージョンの OpenMDAO でこの機能を作成しましたが、このプログラムは、組み込まれていない限り、この機能を持たない他のユーザーを対象としています。
openmdao - OpenMDAO v1.x 機能のリクエスト: 導関数チェック メソッドの有限差分法オプション
コードのいくつかのコンポーネントは、前方または後方差分を使用すると勾配チェックに失敗しますが、より正確な中央差分を使用すると合格することがわかりました。これを改善するために、コードのバージョンでこれらの関数のデフォルトを変更して、中央差分を使用するようにしました。
他のユーザーが実行した場合にテストがパスできるように、導関数チェック方法で使用される有限差分法をオプションにすることを要求したいと思います。
parallel-processing - OpenMDAO v1.x: ParallelGroup のサブ グループの出力が存在しません
並行して実行すると、サブグループのパラメーターに接続できますが、サブグループの未知数を接続できませんParallelGroup()
。問題の原因となっているコード (わかりやすくするために名前を変更しています) を以下に示します。このコードは、より大きな構造のグループ内にありますが、MPI が使用されている唯一の場所です。
最初の 2 つの接続は正常に動作しているように見えますが、最後の接続ではエラーがスローされます。
また、問題のある行をコメントアウトすると、ループの最初の行が 2 番目のプロセスで失敗し、同じエラー メッセージが表示されます。
シリアル バージョンのコードでは、すべての接続が正常に機能します。シリアル バージョンは、sub_groups がラップされるのではなく、このコードが含まれるグループに直接追加されることを除いて同じですparallel_group
。
チュートリアルと例を調べてみましたが、何が問題なのかわかりませんでした。何を確認すべきか、または何が間違っている可能性があるかについての提案をいただければ幸いです。完全なコード サンプルを投稿できなくて申し訳ありません。
openmdao - コンポーネント間でグラデーションを渡す。pass_by_obj 出力
あるコンポーネントの勾配が必然的に別のコンポーネントで計算される状況があります。私がやろうとしたことは、勾配を最初のコンポーネントからの出力と2番目のコンポーネントへの入力にすることです。他の計算に影響を与えないように、pass_by_obj に設定しました。これが最善の方法であるかどうかについての推奨事項をいただければ幸いです。それにもかかわらず、check_partial_derivatives() を使用するとエラーが発生します。pass_by_obj として指定された任意の出力に対してエラーになるようです。以下は単純なケースです。
次のエラー メッセージが表示されます。
前に、check_partial_derivatives() で pass_by_obj のパラメーターがチェックされていることについて尋ねましたが、単純に pass_by_obj の未知数もチェックするだけかもしれません。
openmdao - メタモデルによるopenmdao v1.4の最適化
メタモデルで openmdao 1.4 を使用して最適化を実行します。チュートリアルを使用して、解決できない問題を構築しました: 問題は setup() と run() の誤用から来ていると思います: メタモデルをトレーニングして同時に最適化することができません時間(おそらく、これを行うには2つの異なる「グループ」を使用する必要があります..)これが私のコードです:
openmdao - OpenMDAO: pass_by_obj による単位変換
単位変換pass_by_obj
は OpenMDAO 1.4 でサポートされていますか? 私は小さな再現ケースを持っています:
でpass_by_obj=True
、assert
失敗します。top.setup()
レポート:
したがって、単位変換が行われることを期待しています。