class_docstr: A base class for a monitoring task.
  
  All monitoring tasks are callable objects.
  A descendant class must implement the `run` method, which is the body of the monitoring task.
class_docstr_tok: ["A","base","class","for","a","monitoring","task",".","All","monitoring","tasks","are","callable","objects",".","A","descendant","class","must","implement","the","`","run","`","method",",","which","is","the","body","of","the","monitoring","task","."]
docstr: Implements the task to be executed on __call__.
  The current step is available through `self.current_step`.
  
  :param kwargs: keyword arguments available to the run method.
docstr_tok: ["Implements","the","task","to","be","executed","on","__call__",".","The","current","step","is","available","through","`","self.current_step","`",".",":","param","kwargs",":","keyword","arguments","available","to","the","run","method","."]
code: def run(self, **kwargs: Any) -> None:
      """
      Implements the task to be executed on __call__.
      The current step is available through `self.current_step`.
  
      :param kwargs: keyword arguments available to the run method.
      """
      raise NotImplementedError
  
file_path: GPflow/gpflow/monitor/base.py
imports: from abc import ABC, abstractmethod
  from typing import Any, Callable, Collection, Union
  import tensorflow
label_desc: Use image node_id 2 for calling the MonitorTask obj's underlying member method code with example usage: obj.run() without return types