Source code for ax.core.runner
#!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
from abc import ABC, abstractmethod
from typing import TYPE_CHECKING, Any, Dict
from ax.core.base import Base
if TYPE_CHECKING: # pragma: no cover
# import as module to make sphinx-autodoc-typehints happy
from ax import core # noqa F401
[docs]class Runner(Base, ABC):
"""Abstract base class for custom runner classes"""
[docs] @abstractmethod
def run(self, trial: "core.base_trial.BaseTrial") -> Dict[str, Any]:
"""Deploys a trial based on custom runner subclass implementation.
Args:
trial: The trial to deploy.
Returns:
Dict of run metadata from the deployment process.
"""
pass # pragma: no cover
[docs] def stop(self, trial: "core.base_trial.BaseTrial") -> None:
"""Stop a trial based on custom runner subclass implementation.
Optional to implement
Args:
trial: The trial to deploy.
"""
pass
@property
def staging_required(self) -> bool:
"""Whether the trial goes to staged or running state once deployed."""
return False