opsd-lora / configs /variants /__init__.py
hbin0701's picture
OPSD LoRA checkpoints + variant configs + manifest (public)
b6d5136 verified
Raw
History Blame Contribute Delete
1.17 kB
"""Variant registry. `load("p1_surgical")` returns that folder's TeacherVariant
instance; `available()` lists the folders. No variant name is hardcoded anywhere —
a folder with a utils.py exporting `VARIANT` is automatically discoverable."""
import importlib.util
import importlib # noqa: F401 (original re-exported both)
import os
import sys
from agents.variants.base import TeacherVariant # noqa: F401 (re-exported for convenience)
_DIR = os.path.dirname(__file__)
def available():
"""Variant folder names (any subdir with a utils.py)."""
return sorted(
d for d in os.listdir(_DIR)
if os.path.exists(os.path.join(_DIR, d, "utils.py"))
)
def load(name):
"""Import agents/variants/<name>/utils.py and return its VARIANT() instance."""
path = os.path.join(_DIR, name, "utils.py")
if not os.path.exists(path):
raise ValueError(f"unknown variant {name}; available: {available()}")
spec = importlib.util.spec_from_file_location(f"agents.variants.{name}.utils", path)
mod = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = mod
spec.loader.exec_module(mod)
return mod.VARIANT()