phlower.settings.GroupModuleSetting¶
- class phlower.settings.GroupModuleSetting(*, name, inputs=<factory>, outputs=<factory>, modules=<factory>, destinations=<factory>, nn_type='Group', no_grad=False, solver_type='none', is_steady_problem=False, solver_parameters=<factory>, time_series_length=None)[source]¶
Bases:
BaseModel
,IModuleSetting
,IReadOnlyReferenceGroupSetting
Methods
find_module
(name)get_destinations
()get_input_keys
()get_name
()get_output_info
()get_output_keys
()resolve
(*resolved_outputs[, is_first])search_module_setting
(name)Attributes
model_computed_fields
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
model_extra
Get extra fields set during validation.
model_fields
model_fields_set
Returns the set of fields that have been explicitly set on this model instance.
name of group
definition of input variables
definition of output variables
modules which belongs to this group
name of destination modules.
name of neural network type.
A Flag not to calculate gradient.
Solver name calculating in iteration loop
When true, updating function in the group iteraion is defined as steady problems
Parameters to pass iteration solver.
If feed integer value, do iteration to output time series tensor.
- Parameters:
name (str)
inputs (list[GroupIOSetting])
outputs (list[GroupIOSetting])
modules (list[Annotated[Annotated[GroupModuleSetting, Tag(tag=GROUP)] | Annotated[ModuleSetting, Tag(tag=MODULE)], Discriminator(discriminator=~phlower.settings._group_setting._custom_discriminator, custom_error_type=invalid_union_member, custom_error_message=Invalid union member, custom_error_context={'discriminator': 'group_or_module'})]])
destinations (list[str])
nn_type (Literal['Group', 'GROUP'])
no_grad (bool)
solver_type (str)
is_steady_problem (bool)
solver_parameters (Annotated[IPhlowerIterationSolverSetting, PlainValidator(func=~phlower.settings._nonlinear_solver_setting._validate, json_schema_input_type=~typing.Any), PlainSerializer(func=~phlower.settings._nonlinear_solver_setting._serialize, return_type=PydanticUndefined, when_used=always)])
time_series_length (int | None)
- destinations: list[str]¶
name of destination modules.
- inputs: list[GroupIOSetting]¶
definition of input variables
- is_steady_problem: bool¶
When true, updating function in the group iteraion is defined as steady problems
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- modules: list[Annotated[Annotated[GroupModuleSetting, Tag(_DiscriminatorTag.GROUP.name)] | Annotated[ModuleSetting, Tag(_DiscriminatorTag.MODULE.name)], Discriminator(_custom_discriminator, custom_error_type='invalid_union_member', custom_error_message='Invalid union member', custom_error_context={'discriminator': 'group_or_module'})]]¶
modules which belongs to this group
- name: str¶
name of group
- nn_type: Literal['Group', 'GROUP']¶
name of neural network type. Fixed to “Group” or “GROUP”
- no_grad: bool¶
A Flag not to calculate gradient. Defauls to False.
- outputs: list[GroupIOSetting]¶
definition of output variables
- solver_parameters: SolverParameters¶
Parameters to pass iteration solver. Contents depends on solver_type
- solver_type: str¶
Solver name calculating in iteration loop
none: No iteration. simple: run iteration until calculated value is converged. bb: Barzilan-Borwein method is used to converge iteration results.
- time_series_length: int | None¶
If feed integer value, do iteration to output time series tensor.