class_docstr: Provide an abstract base class for defining algo to run on any platform.
  To define a new algo script, subclass this class and implement the
  following abstract methods:
  
      - self.train()
      - self.get_weights()
      - self.evaluate()
      - self.get_data_stats() (optional, inherited from `ClientAlgoStats`)
  
  initialize(), abort(), and finalize() - inherited from `ClientAlgoStats` - can be optionally be implemented
  to help with lifecycle management of the class object.
docstr: Get evaluation metrics on test data.
  
  Args:
      data: ExchangeObject with network weights to use for evaluation.
      extra: Dict with additional information that can be provided by the FL system.
  
  Returns:
      metrics: ExchangeObject with evaluation metrics.
docstr_tok: ["Get","evaluation","metrics","on","test","data",".","Args",":","data",":","ExchangeObject","with","network","weights","to","use","for","evaluation",".","extra",":","Dict","with","additional","information","that","can","be","provided","by","the","FL","system",".","Returns",":","metrics",":","ExchangeObject","with","evaluation","metrics","."]
code: def evaluate(
      self, data: ExchangeObject, extra: dict | None = None
  ) -> ExchangeObject:
      """
      Get evaluation metrics on test data.
  
      Args:
          data: ExchangeObject with network weights to use for evaluation.
          extra: Dict with additional information that can be provided by the FL system.
  
      Returns:
          metrics: ExchangeObject with evaluation metrics.
      """
      raise NotImplementedError(
          f"Subclass {self.__class__.__name__} must implement this method."
      )
  
file_path: MONAI/monai/fl/client/client_algo.py
imports: from __future__ import annotations
  from monai.fl.utils.exchange_object import ExchangeObject
label_desc: Use image node_id 3 for calling the ClientAlgo obj's underlying member method code with example usage: obj.evaluate(data, extra) without return types