class_docstr: Add Gaussian Blur to a 4D tensors
  This layer takes a 4D tensor of {N, C, H, W} as input.
  The Gaussian blur will be performed in given channel number (C) splitly.
class_docstr_tok: ["Add","Gaussian","Blur","to","a","4D","tensors","This","layer","takes","a","4D","tensor","of","{","N",",","C",",","H",",","W","}","as","input",".","The","Gaussian","blur","will","be","performed","in","given","channel","number","(","C",")","splitly","."]
docstr: Args:
      x (paddle.Tensor): input 4D tensor
  Returns:
      paddle.Tensor: Blurred version of the input
docstr_tok: ["Args",":","x","(","paddle.Tensor",")",":","input","4D","tensor","Returns",":","paddle.Tensor",":","Blurred","version","of","the","input"]
code: def forward(self, x):
      """
      Args:
          x (paddle.Tensor): input 4D tensor
      Returns:
          paddle.Tensor: Blurred version of the input
      """
  
      if not len(list(x.shape)) == 4:
          print("'GaussianBlurLayer' requires a 4D tensor as input\n")
          exit()
      elif not x.shape[1] == self.channels:
          print(
              "In 'GaussianBlurLayer', the required channel ({0}) is"
              "not the same as input ({1})\n".format(
                  self.channels, x.shape[1]
              )
          )
          exit()
  
      return self.op(x)
  
imports: from collections import defaultdict
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import numpy
  import scipy
  import paddleseg
  from paddleseg.models import layers, losses
  from paddleseg import utils
  from paddleseg.cvlibs import manager, param_init
label_desc: Use image node_id 2 for calling the GaussianBlurLayer obj's underlying member method code with example usage: obj.forward(x) and returns: self