class_docstr: 保存 :class:`~fastNLP.core.metrics.Metric` 中计算的元素值的对象
  
  :param name: 名称
  :param value: 元素的值
  :param aggregate_method: 聚合的方法， 目前支持 ``['sum', 'mean', 'max', 'min']``:
  
      * method 为 ``'sum'`` 时， 会将多张卡上聚合结果在维度为 `0` 上 累加起来。
      * method 为 ``'mean'`` 时，会将多张卡上聚合结果在维度为 `0` 上取平均值。
      * method 为 ``'max'`` 时，会将多张卡上聚合结果在维度为 `0` 上取最大值。
      * method 为 ``'min'`` 时，会将多张卡上聚合结果在维度为 `0` 上取最小值。
  
  :param backend: 使用的 backend 。Element 的类型会根据 ``backend`` 进行实际的初始化。例如 ``backend`` 为 ``'torch'`` 则该对象为
      :class:`torch.Tensor` ； 如果 ``'backend'`` 为 ``'paddle'`` 则该对象为 :class:`paddle.Tensor` ；如果 ``backend`` 为
      ``'jittor'`` , 则该对象为 :class:`jittor.Var` 。一般情况下直接默认为 ``'auto'`` 就行了， **fastNLP** 会根据实际调用 :meth`Metric.update`
      函数时传入的参数进行合理的初始化，例如当传入的参数中只包含 :class:`torch.Tensor` 这一种 tensor 时（可以有其它非 tensor 类型的输入）
      则认为 ``backend`` 为 ``'torch'`` ；只包含 :class:`jittor.Var` 这一种 tensor 时（可以有其它非 tensor 类型的输入）则认为 ``backend``
      为 ``'jittor'`` 。如果没有检测到任何一种 tensor ，就默认使用 :class:`float` 类型作为 element 。
code: def __rmod__(self, other):
      self._check_value_when_call()
      if isinstance(other, Element):
          other = other.value
      return self.value % other
  
imports: import os
  import functools
  from .backend import Backend, AutoBackend
  from fastNLP.core.log import logger
  from .utils import AggregateMethodError
  from fastNLP.envs.env import FASTNLP_GLOBAL_RANK
label_desc: Use image node_id 23 for calling the Element obj's underlying member method code with example usage: obj.__rmod__(other) and returns: unknown