class_docstr: :class:`LossMetric` is a base object of loss based metrics and AUC. If you want to
  implement an loss based metric, you can inherit this class.
  
  Args:
      config (Config): The config of evaluator.
class_docstr_tok: [":","class",":","`","LossMetric","`","is","a","base","object","of","loss","based","metrics","and","AUC",".","If","you","want","to","implement","an","loss","based","metric",",","you","can","inherit","this","class",".","Args",":","config","(","Config",")",":","The","config","of","evaluator","."]
docstr: Calculate the value of the metric.
  
  Args:
      preds (numpy.ndarray): the scores predicted by model, a one-dimensional vector.
      trues (numpy.ndarray): the label of items, which has the same shape as ``preds``.
  
  Returns:
      float: The value of the metric.
docstr_tok: ["Calculate","the","value","of","the","metric",".","Args",":","preds","(","numpy.ndarray",")",":","the","scores","predicted","by","model",",","a","one-dimensional","vector",".","trues","(","numpy.ndarray",")",":","the","label","of","items",",","which","has","the","same","shape","as","``","preds","``",".","Returns",":","float",":","The","value","of","the","metric","."]
code: def metric_info(self, preds, trues):
      """Calculate the value of the metric.
  
      Args:
          preds (numpy.ndarray): the scores predicted by model, a one-dimensional vector.
          trues (numpy.ndarray): the label of items, which has the same shape as ``preds``.
  
      Returns:
          float: The value of the metric.
      """
      raise NotImplementedError(
          "Method [metric_info] of loss-based metric should be implemented."
      )
  
file_path: RecBole/recbole/evaluator/base_metric.py
imports: import torch
  from recbole.utils import EvaluatorType
label_desc: Use image node_id 4 for calling the LossMetric obj's underlying member method code with example usage: obj.metric_info(preds, trues) without return types