Module facetorch.configuration
Supported resource-backed and external Hydra configuration loaders.
Functions
def load_config(profile: str | None = 'cpu',
*,
overrides: Sequence[str] | None = None,
offline: bool | None = None,
allow_legacy_models: bool | None = None) ‑> omegaconf.dictconfig.DictConfig-
Expand source code
def load_config( profile: Optional[str] = "cpu", *, overrides: Optional[Sequence[str]] = None, offline: Optional[bool] = None, allow_legacy_models: Optional[bool] = None, ) -> DictConfig: """Compose packaged facetorch defaults independently of the current directory. Args: profile: ``"cpu"`` (default), ``"gpu"``, or ``None`` to retain the packaged device value. overrides: Hydra override strings applied after the selected profile. offline: Explicitly disable or allow model network access. ``None`` uses the packaged environment-backed default. allow_legacy_models: Explicit opt-in for eligible verified TorchScript fallback artifacts. ``None`` retains the packaged false default. Returns: A fully composed configuration with ``cfg.analyzer`` available. """ register_path_resolvers() option_overrides = _option_overrides( _normalize_overrides(overrides), offline=offline, allow_legacy_models=allow_legacy_models, ) composed_overrides = _profile_overrides(profile, option_overrides) try: with initialize_config_module( config_module="facetorch.configs", version_base=None, job_name="facetorch-load-config", ): return compose(config_name="config", overrides=composed_overrides) except ConfigurationError: raise except Exception as exc: raise ConfigurationError( "Could not compose packaged facetorch configuration." ) from excCompose packaged facetorch defaults independently of the current directory.
- Args
- -----=
profile"cpu"(default),"gpu", orNoneto retain the packaged device value.overrides- Hydra override strings applied after the selected profile.
offline- Explicitly disable or allow model network access.
Noneuses the packaged environment-backed default. allow_legacy_models- Explicit opt-in for eligible verified TorchScript
fallback artifacts.
Noneretains the packaged false default.
Returns -----= A fully composed configuration with
cfg.analyzeravailable. def load_config_from_path(path: str | os.PathLike,
*,
profile: str | None = None,
overrides: Sequence[str] | None = None,
offline: bool | None = None,
allow_legacy_models: bool | None = None) ‑> omegaconf.dictconfig.DictConfig-
Expand source code
def load_config_from_path( path: ConfigPath, *, profile: Optional[str] = None, overrides: Optional[Sequence[str]] = None, offline: Optional[bool] = None, allow_legacy_models: Optional[bool] = None, ) -> DictConfig: """Compose an advanced external Hydra YAML tree from an explicit file path. Relative paths are resolved against the caller's current directory. The file's parent becomes Hydra's configuration directory, so its ``defaults`` list and sibling configuration groups are composed normally. """ register_path_resolvers() config_file = Path(path).expanduser().resolve() if config_file.suffix.lower() not in {".yaml", ".yml"}: raise ConfigurationError( "External configuration must be a .yaml or .yml file." ) if not config_file.is_file(): raise ConfigurationError( f"External configuration file does not exist: {config_file}." ) option_overrides = _option_overrides( _normalize_overrides(overrides), offline=offline, allow_legacy_models=allow_legacy_models, ) composed_overrides = _profile_overrides(profile, option_overrides) try: with initialize_config_dir( config_dir=os.fspath(config_file.parent), version_base=None, job_name="facetorch-load-external-config", ): return compose( config_name=config_file.name[: -len(config_file.suffix)], overrides=composed_overrides, ) except ConfigurationError: raise except Exception as exc: raise ConfigurationError( f"Could not compose external configuration: {config_file}." ) from excCompose an advanced external Hydra YAML tree from an explicit file path.
Relative paths are resolved against the caller's current directory. The file's parent becomes Hydra's configuration directory, so its
defaultslist and sibling configuration groups are composed normally.