class_docstr: The SegNet implementation based on PaddlePaddle.
  The original article refers to
  Badrinarayanan, Vijay, et al. "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation"
  (https://arxiv.org/pdf/1511.00561.pdf).
  Args:
      num_classes (int): The unique number of target classes.
class_docstr_tok: ["The","SegNet","implementation","based","on","PaddlePaddle",".","The","original","article","refers","to","Badrinarayanan",",","Vijay",",","et","al",".","``","SegNet",":","A","Deep","Convolutional","Encoder-Decoder","Architecture","for","Image","Segmentation","''","(","https",":","\/\/arxiv.org\/pdf\/1511.00561.pdf",")",".","Args",":","num_classes","(","int",")",":","The","unique","number","of","target","classes","."]
code: def forward(self, x):
      logit_list = []
  
      x = self.enco1(x)
      x, ind1 = F.max_pool2d(
          x, kernel_size=2, stride=2, return_mask=True
      )
      size1 = x.shape
  
      x = self.enco2(x)
      x, ind2 = F.max_pool2d(
          x, kernel_size=2, stride=2, return_mask=True
      )
      size2 = x.shape
  
      x = self.enco3(x)
      x, ind3 = F.max_pool2d(
          x, kernel_size=2, stride=2, return_mask=True
      )
      size3 = x.shape
  
      x = self.enco4(x)
      x, ind4 = F.max_pool2d(
          x, kernel_size=2, stride=2, return_mask=True
      )
      size4 = x.shape
  
      x = self.enco5(x)
      x, ind5 = F.max_pool2d(
          x, kernel_size=2, stride=2, return_mask=True
      )
      size5 = x.shape
  
      x = F.max_unpool2d(
          x, indices=ind5, kernel_size=2, stride=2, output_size=size4
      )
      x = self.deco1(x)
  
      x = F.max_unpool2d(
          x, indices=ind4, kernel_size=2, stride=2, output_size=size3
      )
      x = self.deco2(x)
  
      x = F.max_unpool2d(
          x, indices=ind3, kernel_size=2, stride=2, output_size=size2
      )
      x = self.deco3(x)
  
      x = F.max_unpool2d(
          x, indices=ind2, kernel_size=2, stride=2, output_size=size1
      )
      x = self.deco4(x)
  
      x = F.max_unpool2d(x, indices=ind1, kernel_size=2, stride=2)
      x = self.deco5(x)
  
      logit_list.append(x)
  
      return logit_list
  
file_path: PaddleSeg/paddleseg/models/segnet.py
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddleseg.cvlibs import manager, param_init
  from paddleseg.models import layers
  from paddleseg.utils import utils
label_desc: Use image node_id 3 for calling the SegNet obj's underlying member method code with example usage: obj.forward(x) and returns: logit_list