petitRADTRANS.sbi.posterior_base

Contents

petitRADTRANS.sbi.posterior_base#

Posterior estimator interfaces and shared persistence base classes.

Attributes#

Classes#

TrainingArtifacts

Structured outputs of a posterior training run.

PosteriorSamples

Posterior samples and optional per-sample diagnostics.

PosteriorBatch

Training batch passed to amortized posterior estimators.

PosteriorEstimator

Backend-agnostic interface for amortized posterior models.

PersistentPosteriorEstimator

Shared persistence helper for estimator backends with on-disk artifacts.

Module Contents#

petitRADTRANS.sbi.posterior_base.POSTERIOR_METADATA_SCHEMA_VERSION = '0.2.0'#
class petitRADTRANS.sbi.posterior_base.TrainingArtifacts#

Structured outputs of a posterior training run.

history: Mapping[str, Any]#
validation_metrics: Mapping[str, Any]#
metadata: Mapping[str, Any]#
class petitRADTRANS.sbi.posterior_base.PosteriorSamples#

Posterior samples and optional per-sample diagnostics.

samples: Any#
log_probabilities: Any = None#
weights: Any = None#
metadata: Mapping[str, Any]#
class petitRADTRANS.sbi.posterior_base.PosteriorBatch#

Training batch passed to amortized posterior estimators.

parameters: Any#
observations: Any#
metadata: Mapping[str, Any]#
class petitRADTRANS.sbi.posterior_base.PosteriorEstimator#

Bases: abc.ABC

Backend-agnostic interface for amortized posterior models.

abstractmethod fit(dataset: Any) TrainingArtifacts#

Train the posterior estimator on a simulation dataset.

abstractmethod encode_observation(blocks: list[petitRADTRANS.sbi.observation.ObservationBlock]) petitRADTRANS.sbi.observation.EncodedObservation#

Encode a structured observation into the estimator input space.

abstractmethod sample_posterior(observation: petitRADTRANS.sbi.observation.EncodedObservation, n_samples: int, seed: int | None = None) PosteriorSamples#

Sample the amortized posterior for one encoded observation.

abstractmethod log_prob(observation: petitRADTRANS.sbi.observation.EncodedObservation, parameters: Any) Any#

Evaluate posterior log-density when supported by the backend.

abstractmethod save(output_directory: str) None#

Persist trained model weights and metadata.

classmethod load(input_directory: str) PosteriorEstimator#
Abstractmethod:

Restore a saved estimator from disk.

class petitRADTRANS.sbi.posterior_base.PersistentPosteriorEstimator(parameter_dim: int, parameter_space: str = 'unconstrained', seed: int = 0, task_metadata: Mapping[str, Any] | None = None)#

Bases: PosteriorEstimator

Shared persistence helper for estimator backends with on-disk artifacts.

estimator_family = 'persistent_estimator'#
metadata_schema_version = '0.2.0'#
parameter_dim#
parameter_space = 'unconstrained'#
seed = 0#
task_metadata#
training_artifacts: TrainingArtifacts | None = None#
task_name: str | None#
task_version: str | None = None#
task_fingerprint: str | None = None#
observation_schema: Mapping[str, Any]#
preprocessing_metadata_payload: Mapping[str, Any]#
artifact_metadata: petitRADTRANS.sbi.artifacts.ArtifactMetadata | None = None#
abstractmethod _build_estimator_config() dict[str, Any]#

Return backend-specific configuration for metadata persistence.

classmethod from_serialized_metadata(metadata: Mapping[str, Any]) PersistentPosteriorEstimator#
Abstractmethod:

Rebuild an estimator instance from persisted metadata only.

abstractmethod save_backend_state(output_path: pathlib.Path) None#

Persist backend-specific model state into the output directory.

abstractmethod load_backend_state(input_path: pathlib.Path) None#

Restore backend-specific model state from the input directory.

static _load_training_artifacts(metadata: Mapping[str, Any]) TrainingArtifacts | None#
hydrate_loaded_metadata(metadata: Mapping[str, Any]) None#
_build_artifact_metadata_payload() dict[str, Any]#
build_artifact_metadata(version: str) petitRADTRANS.sbi.artifacts.ArtifactMetadata#

Assemble registry metadata for the currently trained estimator.

_build_serialized_metadata(artifact_metadata: petitRADTRANS.sbi.artifacts.ArtifactMetadata) dict[str, Any]#
save(output_directory: str, artifact_registry: petitRADTRANS.sbi.artifacts.ArtifactRegistry | None = None, artifact_version: str = '0.1.0') None#

Persist model weights, metadata, and optional artifact registration.

classmethod load(input_directory: str) PersistentPosteriorEstimator#

Restore a saved persistent estimator from disk.