class_docstr: Loss carried out lazily to avoid unnecessary communication
docstr: Computes and returns the loss
  
  loss = (dz^2).mean()
docstr_tok: ["Computes","and","returns","the","loss","loss","=","(","dz^2",")",".mean","(",")"]
code: def get(self, dst=None):
      """
      Computes and returns the loss
  
      loss = (dz^2).mean()
      """
      dz_mean_square = (
          self.ctx.mpc.sshe.mpc_square(
              ctx=self.ctx,
              group=self.group,
              rank_a=self.rank_a,
              rank_b=self.rank_b,
              x=self.dz,
              cipher_a=self.ctx.mpc.option(
                  self.phe_cipher, self.rank_a
              ),
          )
          .mean()
          .get_plain_text(group=self.group, dst=dst)
      )
      if dst is not None and dst != self.ctx.rank:
          return None
      return dz_mean_square
  
imports: import typing
  import torch
  from fate.arch.context import Context
  from fate.arch.protocol.mpc.common.encoding import IgnoreEncodings
  from fate.arch.protocol.mpc.mpc import FixedPointEncoder
  from fate.arch.trace import auto_trace
label_desc: Use image node_id 2 for calling the SSHESSHELinearRegressionLossLayerLazyLoss obj's underlying member method code with example usage: obj.get(dst) and returns: dz_mean_square, None