docstr: Forward computation.
  
  Args:
      logit (Tensor): Logit tensor, the data type is float32, float64.
      label (Tensor): Label tensor, the data type is float32, float64. The shape should equal to logit.
      mask (Tensor, optional): The mask where the loss valid. Default： None.
docstr_tok: ["Forward","computation",".","Args",":","logit","(","Tensor",")",":","Logit","tensor",",","the","data","type","is","float32",",","float64",".","label","(","Tensor",")",":","Label","tensor",",","the","data","type","is","float32",",","float64",".","The","shape","should","equal","to","logit",".","mask","(","Tensor",",","optional",")",":","The","mask","where","the","loss","valid",".","Default\uff1a","None","."]
code: def forward(self, logit, label, mask=None):
      """
      Forward computation.
  
      Args:
          logit (Tensor): Logit tensor, the data type is float32, float64.
          label (Tensor): Label tensor, the data type is float32, float64. The shape should equal to logit.
          mask (Tensor, optional): The mask where the loss valid. Default： None.
      """
      if len(label.shape) == 3:
          label = label.unsqueeze(1)
      sd = paddle.square(logit - label)
      loss = paddle.sqrt(sd + self.eps)
      if mask is not None:
          mask = mask.astype("float32")
          if len(mask.shape) == 3:
              mask = mask.unsqueeze(1)
          loss = loss * mask
          loss = loss.sum() / (mask.sum() + self.eps)
          mask.stop_gradient = True
      else:
          loss = loss.mean()
  
      return loss
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager
  import cv2
label_desc: Use image node_id 2 for calling the MRSD obj's underlying member method code with example usage: obj.forward(logit, label, mask) and returns: loss