class_docstr: Abstract base class for custom runner classes
class_docstr_tok: ["Abstract","base","class","for","custom","runner","classes"]
docstr: Stop a trial based on custom runner subclass implementation.
  
  Optional method.
  
  Args:
      trial: The trial to stop.
      reason: A message containing information why the trial is to be stopped.
  
  Returns:
      A dictionary of run metadata from the stopping process.
docstr_tok: ["Stop","a","trial","based","on","custom","runner","subclass","implementation",".","Optional","method",".","Args",":","trial",":","The","trial","to","stop",".","reason",":","A","message","containing","information","why","the","trial","is","to","be","stopped",".","Returns",":","A","dictionary","of","run","metadata","from","the","stopping","process","."]
code: def stop(
      self,
      trial: core.base_trial.BaseTrial,
      reason: Optional[str] = None,
  ) -> Dict[str, Any]:
      """Stop a trial based on custom runner subclass implementation.
  
      Optional method.
  
      Args:
          trial: The trial to stop.
          reason: A message containing information why the trial is to be stopped.
  
      Returns:
          A dictionary of run metadata from the stopping process.
      """
      raise NotImplementedError(
          f"{self.__class__.__name__} does not implement a `stop` method."
      )
  
file_path: Ax/ax/core/runner.py
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import Any, Dict, Iterable, List, Optional, Set, TYPE_CHECKING
  from ax.utils.common.base import Base
  from ax.utils.common.serialization import SerializationMixin
label_desc: Use image node_id 8 for calling the Runner obj's underlying member method code with example usage: obj.stop(trial, reason) without return types