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. Safe to call inside an existing Hydra application: composition uses its own loader and does not replace the application's Hydra instance or search path. 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: return compose_config( search_path="pkg://facetorch.configs", config_name="config", overrides=composed_overrides, job_name="facetorch-load-config", ) 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.
Safe to call inside an existing Hydra application: composition uses its own loader and does not replace the application's Hydra instance or search path.
- 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. An existing host Hydra application keeps its instance, search path, job state and compatibility mode. """ 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: return compose_config( search_path=os.fspath(config_file.parent), config_name=config_file.name[: -len(config_file.suffix)], overrides=composed_overrides, job_name="facetorch-load-external-config", ) 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. An existing host Hydra application keeps its instance, search path, job state and compatibility mode.