class_docstr: Generate the ENet model.
  
  :param num_classes: (int): the number of classes to segment.
  :param encoder_relu: (bool, optional): When ``True`` ReLU is used as the
      activation function in the encoder blocks/layers; otherwise, PReLU
      is used. Default: False.
  :param decoder_relu: (bool, optional): When ``True`` ReLU is used as the
      activation function in the decoder blocks/layers; otherwise, PReLU
      is used. Default: True.
class_docstr_tok: ["Generate","the","ENet","model",".",":","param","num_classes",":","(","int",")",":","the","number","of","classes","to","segment",".",":","param","encoder_relu",":","(","bool",",","optional",")",":","When","``","True","``","ReLU","is","used","as","the","activation","function","in","the","encoder","blocks\/layers",";","otherwise",",","PReLU","is","used",".","Default",":","False",".",":","param","decoder_relu",":","(","bool",",","optional",")",":","When","``","True","``","ReLU","is","used","as","the","activation","function","in","the","decoder","blocks\/layers",";","otherwise",",","PReLU","is","used",".","Default",":","True","."]
code: def forward(self, x):
      # Initial block
      x = self.initial_block(x)
  
      # Stage 1 - Encoder
      x, max_indices1_0 = self.downsample1_0(x)
      x = self.regular1_1(x)
      x = self.regular1_2(x)
      x = self.regular1_3(x)
      x = self.regular1_4(x)
  
      # Stage 2 - Encoder
      x, max_indices2_0 = self.downsample2_0(x)
      x = self.regular2_1(x)
      x = self.dilated2_2(x)
      x = self.asymmetric2_3(x)
      x = self.dilated2_4(x)
      x = self.regular2_5(x)
      x = self.dilated2_6(x)
      x = self.asymmetric2_7(x)
      x = self.dilated2_8(x)
  
      # Stage 3 - Encoder
      x = self.regular3_0(x)
      x = self.dilated3_1(x)
      x = self.asymmetric3_2(x)
      x = self.dilated3_3(x)
      x = self.regular3_4(x)
      x = self.dilated3_5(x)
      x = self.asymmetric3_6(x)
      x = self.dilated3_7(x)
  
      # Stage 4 - Decoder
      x = self.upsample4_0(x, max_indices2_0)
      x = self.regular4_1(x)
      x = self.regular4_2(x)
  
      # Stage 5 - Decoder
      x = self.upsample5_0(x, max_indices1_0)
      x = self.regular5_1(x)
      x = self.transposed_conv(x)
  
      return x
  
imports: import torch.nn
  import torch
label_desc: Use image node_id 2 for calling the ENet obj's underlying member method code with example usage: obj.forward(x) and returns: x