romtools.workflows.inverse.vi_run_directory_policy#

Run-directory policy for VI and MFVI model evaluations.

The VI drivers historically create a separate run directory for every model sample. That remains the default because many file-backed models depend on those directories. Lightweight in-memory models can opt out through the public create_run_directories keyword without disabling VI restart, history, or iteration-level output directories.

Functions

mf_vi_with_auto_rom(model, ...[, ...])

Run auto-ROM MFVI with the same run-directory policy.

run_mf_vi(model, rom_model_builder, ...[, ...])

Run MFVI with optional per-evaluation run-directory creation.

run_vi(model, prior_parameter_space, ...[, ...])

Run VI with optional per-evaluation run-directory creation.

romtools.workflows.inverse.vi_run_directory_policy.mf_vi_with_auto_rom(model, prior_parameter_space, observations, observations_covariance, parameter_mins=None, parameter_maxes=None, initial_variational_parameter_space=None, restart_file=None, optimizer_method='gradient', optimizer_config=None, line_search_method='stochastic_nonmonotone', line_search_config=None, absolute_work_dir=None, fom_sample_size=10, rom_extra_sample_size=30, rom_tolerance=0.005, max_rom_training_history=1, random_seed=1, sampling_method='mc', fom_evaluation_concurrency=1, rom_evaluation_concurrency=1, covariance_regularization=1e-08, restart_files_to_keep=10, correlation_estimator='in_sample', correlation_k_folds=5, elbo_scaling_factor='diag_mean', elbo_relative_tolerance=None, baseline_method=None, use_mfmc_control_variate=True, mfmc_control_variate_mode='componentwise', rom_base_sampling_strategy='coupled', bounded_parameter_handling='transform', transform_interior_margin=1e-08, transform_map='sigmoid', min_physical_variational_std_fraction=1e-08, rom_type='gp', rom_args=None, dispatcher=None, *, absolute_vi_directory=None, score_function_entropy_strategy='analytic', rom_substep_start_iteration=0, rom_substep_end_iteration=None, num_rom_substeps=0, create_run_directories=True, sample_reuse_config=None)[source]#

Run auto-ROM MFVI with the same run-directory policy.

Parameters:
  • model (QoiModel)

  • observations (ndarray)

  • observations_covariance (ndarray)

  • parameter_mins (ndarray)

  • parameter_maxes (ndarray)

  • restart_file (str)

  • optimizer_method (str)

  • line_search_method (str)

  • absolute_work_dir (str)

  • fom_sample_size (int)

  • rom_extra_sample_size (int)

  • rom_tolerance (float)

  • max_rom_training_history (int)

  • random_seed (int)

  • sampling_method (str)

  • covariance_regularization (float)

  • restart_files_to_keep (int)

  • correlation_estimator (str)

  • correlation_k_folds (int)

  • elbo_relative_tolerance (float)

  • baseline_method (str)

  • use_mfmc_control_variate (bool)

  • mfmc_control_variate_mode (str)

  • rom_base_sampling_strategy (str)

  • bounded_parameter_handling (str)

  • transform_interior_margin (float)

  • transform_map (str)

  • min_physical_variational_std_fraction (float)

  • rom_type (str)

  • rom_args (dict | None)

  • dispatcher (BaseDispatcher | None)

  • absolute_vi_directory (str)

  • score_function_entropy_strategy (str)

  • rom_substep_start_iteration (int)

  • rom_substep_end_iteration (int | None)

  • num_rom_substeps (int)

  • create_run_directories (bool)

  • sample_reuse_config (VISampleReuseConfig)

romtools.workflows.inverse.vi_run_directory_policy.run_mf_vi(model, rom_model_builder, prior_parameter_space, observations, observations_covariance, parameter_mins=None, parameter_maxes=None, initial_variational_parameter_space=None, restart_file=None, optimizer_method='gradient', optimizer_config=None, line_search_method='stochastic_nonmonotone', line_search_config=None, absolute_work_dir=None, fom_sample_size=10, rom_extra_sample_size=30, rom_tolerance=0.005, max_rom_training_history=1, random_seed=1, sampling_method='mc', fom_evaluation_concurrency=10, rom_evaluation_concurrency=1, covariance_regularization=1e-07, restart_files_to_keep=10, correlation_estimator='in_sample', correlation_k_folds=5, elbo_scaling_factor='diag_mean', elbo_relative_tolerance=None, baseline_method=None, use_mfmc_control_variate=True, mfmc_control_variate_mode='componentwise', rom_base_sampling_strategy='coupled', bounded_parameter_handling='transform', transform_interior_margin=1e-08, transform_map='sigmoid', min_physical_variational_std_fraction=1e-08, dispatcher=None, *, absolute_vi_directory=None, score_function_entropy_strategy='analytic', rom_substep_start_iteration=0, rom_substep_end_iteration=None, num_rom_substeps=0, create_run_directories=True, sample_reuse_config=None)[source]#

Run MFVI with optional per-evaluation run-directory creation.

Parameters:
  • model (QoiModel)

  • rom_model_builder (QoiModelBuilderWithTrainingData)

  • observations (ndarray)

  • observations_covariance (ndarray)

  • parameter_mins (ndarray)

  • parameter_maxes (ndarray)

  • restart_file (str)

  • optimizer_method (str)

  • line_search_method (str)

  • absolute_work_dir (str)

  • fom_sample_size (int)

  • rom_extra_sample_size (int)

  • rom_tolerance (float)

  • max_rom_training_history (int)

  • random_seed (int)

  • sampling_method (str)

  • covariance_regularization (float)

  • restart_files_to_keep (int)

  • correlation_estimator (str)

  • correlation_k_folds (int)

  • elbo_relative_tolerance (float)

  • baseline_method (str)

  • use_mfmc_control_variate (bool)

  • mfmc_control_variate_mode (str)

  • rom_base_sampling_strategy (str)

  • bounded_parameter_handling (str)

  • transform_interior_margin (float)

  • transform_map (str)

  • min_physical_variational_std_fraction (float)

  • dispatcher (BaseDispatcher | None)

  • absolute_vi_directory (str)

  • score_function_entropy_strategy (str)

  • rom_substep_start_iteration (int)

  • rom_substep_end_iteration (int | None)

  • num_rom_substeps (int)

  • create_run_directories (bool)

  • sample_reuse_config (VISampleReuseConfig)

romtools.workflows.inverse.vi_run_directory_policy.run_vi(model, prior_parameter_space, observations, observations_covariance, parameter_mins=None, parameter_maxes=None, initial_variational_parameter_space=None, restart_file=None, optimizer_method='gradient', optimizer_config=None, line_search_method='stochastic_nonmonotone', line_search_config=None, absolute_work_dir=None, sample_size=30, random_seed=1, sampling_method='mc', evaluation_concurrency=1, covariance_regularization=1e-08, restart_files_to_keep=10, elbo_scaling_factor='diag_mean', elbo_relative_tolerance=None, baseline_method=None, bounded_parameter_handling='transform', transform_interior_margin=1e-06, transform_map='sigmoid', min_physical_variational_std_fraction=1e-06, dispatcher=None, *, absolute_vi_directory=None, score_function_entropy_strategy='analytic', create_run_directories=True, sample_reuse_config=None)[source]#

Run VI with optional per-evaluation run-directory creation.

Parameters:
  • model (QoiModel)

  • observations (ndarray)

  • observations_covariance (ndarray)

  • parameter_mins (ndarray)

  • parameter_maxes (ndarray)

  • restart_file (str)

  • optimizer_method (str)

  • line_search_method (str)

  • absolute_work_dir (str)

  • sample_size (int)

  • random_seed (int)

  • sampling_method (str)

  • covariance_regularization (float)

  • restart_files_to_keep (int)

  • elbo_relative_tolerance (float)

  • baseline_method (str)

  • bounded_parameter_handling (str)

  • transform_interior_margin (float)

  • transform_map (str)

  • min_physical_variational_std_fraction (float)

  • dispatcher (BaseDispatcher | None)

  • absolute_vi_directory (str)

  • score_function_entropy_strategy (str)

  • create_run_directories (bool)

  • sample_reuse_config (VISampleReuseConfig)