0

特定のパラメーターが OpenMDAOv1+ のコンポーネントの勾配に影響を与えないように指定するにはどうすればよいですか? 以前のバージョンでは を設定missing_deriv_policy = 'assume_zero'していましたが、新しい OpenMDAO1+ には存在しないようです。入力を OpenMDAO から見えないようにするには、関数に入力を含めるのではなくsuper、関数に追加するか、部分導関数を 0 として返すだけでよいと思いますが、意図した/推奨される方法は何ですか? これがドキュメントにある場合は申し訳ありません。ある場合は、見逃していたに違いありません。__init__params

4

2 に答える 2

1

パラメータがグラデーションに影響を与えたくない場合、およびそのパラメータを別のコンポーネントに接続する必要がない場合は、コンポーネントの通常の python 属性にして、フレームワークから見えないようにする必要があります。別のコンポーネントに接続する必要がある場合は、その変数のメタデータに「pass_by_obj」を設定すると、OpenMDAO データ パッシング システムによって渡されますが、グラデーションには影響しません。残念ながら、「pass_by_obj」はシリアルでしか使用できません。MPI ではまだ動作しません。

于 2015-10-27T19:15:31.750 に答える