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 current local weights or weight differences.
  
  Args:
      extra: Dict with additional information that can be provided by the FL system.
  
  Returns:
      ExchangeObject: current local weights or weight differences.
  
  `ExchangeObject` example:
  
  .. code-block:: python
  
      ExchangeObject(
          weights = self.trainer.network.state_dict(),
          optim = None,  # could be self.optimizer.state_dict()
          weight_type = WeightType.WEIGHTS
      )
docstr_tok: ["Get","current","local","weights","or","weight","differences",".","Args",":","extra",":","Dict","with","additional","information","that","can","be","provided","by","the","FL","system",".","Returns",":","ExchangeObject",":","current","local","weights","or","weight","differences",".","`","ExchangeObject","`","example",":","..","code-block",":",":","python","ExchangeObject","(","weights","=","self.trainer.network.state_dict","(",")",",","optim","=","None",",","#","could","be","self.optimizer.state_dict","(",")","weight_type","=","WeightType.WEIGHTS",")"]
code: def get_weights(self, extra: dict | None = None) -> ExchangeObject:
      """
      Get current local weights or weight differences.
  
      Args:
          extra: Dict with additional information that can be provided by the FL system.
  
      Returns:
          ExchangeObject: current local weights or weight differences.
  
      `ExchangeObject` example:
  
      .. code-block:: python
  
          ExchangeObject(
              weights = self.trainer.network.state_dict(),
              optim = None,  # could be self.optimizer.state_dict()
              weight_type = WeightType.WEIGHTS
          )
  
      """
      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 2 for calling the ClientAlgo obj's underlying member method code with example usage: obj.get_weights(extra) without return types