class_docstr: This is the Signal MSE Record class that computes the mean squared error (MSE).
  This class inherits the ``SignalMseRecord`` class.
class_docstr_tok: ["This","is","the","Signal","MSE","Record","class","that","computes","the","mean","squared","error","(","MSE",")",".","This","class","inherits","the","``","SignalMseRecord","``","class","."]
code: def generate(self):
      self.check()
  
      pred = self.load("pred.pkl")
      label = self.load("label.pkl")
      masks = ~np.isnan(label.values)
      mse = mean_squared_error(pred.values[masks], label[masks])
      metrics = {"MSE": mse, "RMSE": np.sqrt(mse)}
      objects = {"mse.pkl": mse, "rmse.pkl": np.sqrt(mse)}
      self.recorder.log_metrics(**metrics)
      self.save(**objects)
      logger.info(
          "The evaluation results in SignalMseRecord is {:}".format(
              metrics
          )
      )
  
file_path: qlib/qlib/contrib/workflow/record_temp.py
imports: import logging
  import pandas
  import numpy
  from sklearn.metrics import mean_squared_error
  from typing import Dict, Text, Any
  from ...contrib.eva.alpha import calc_ic
  from ...workflow.record_temp import RecordTemp
  from ...workflow.record_temp import SignalRecord
  from ...data import dataset
  from ...log import get_module_logger
label_desc: Use image node_id 2 for calling the SignalMseRecord obj's underlying member method code with example usage: obj.generate() without return types