ai-content-maker/.venv/Lib/site-packages/thinc/config.py

31 lines
1.3 KiB
Python

import catalogue
import confection
from confection import VARIABLE_RE, Config, ConfigValidationError, Promise
from .types import Decorator
class registry(confection.registry):
# fmt: off
optimizers: Decorator = catalogue.create("thinc", "optimizers", entry_points=True)
schedules: Decorator = catalogue.create("thinc", "schedules", entry_points=True)
layers: Decorator = catalogue.create("thinc", "layers", entry_points=True)
losses: Decorator = catalogue.create("thinc", "losses", entry_points=True)
initializers: Decorator = catalogue.create("thinc", "initializers", entry_points=True)
datasets: Decorator = catalogue.create("thinc", "datasets", entry_points=True)
ops: Decorator = catalogue.create("thinc", "ops", entry_points=True)
# fmt: on
@classmethod
def create(cls, registry_name: str, entry_points: bool = False) -> None:
"""Create a new custom registry."""
if hasattr(cls, registry_name):
raise ValueError(f"Registry '{registry_name}' already exists")
reg: Decorator = catalogue.create(
"thinc", registry_name, entry_points=entry_points
)
setattr(cls, registry_name, reg)
__all__ = ["Config", "registry", "ConfigValidationError", "Promise", "VARIABLE_RE"]