class_docstr: Pre-activation residual block
      Identity Mapping in Deep Residual Networks
      ref https://arxiv.org/abs/1603.05027
  
  Args:
     inplanes(int): Number of input channels.
     planes(int): Number of output channels.
     stride(int): Number of stride.
     downsample(int): Scale factor for downsample layer, default is None.
     norm_layer(nn.Layer): Batch norm layer, default is nn.BatchNorm2D.
  
  Return:
      img(paddle.Tensor): Bottleneck output.
class_docstr_tok: ["Pre-activation","residual","block","Identity","Mapping","in","Deep","Residual","Networks","ref","https",":","\/\/arxiv.org\/abs\/1603.05027","Args",":","inplanes","(","int",")",":","Number","of","input","channels",".","planes","(","int",")",":","Number","of","output","channels",".","stride","(","int",")",":","Number","of","stride",".","downsample","(","int",")",":","Scale","factor","for","downsample","layer",",","default","is","None",".","norm_layer","(","nn.Layer",")",":","Batch","norm","layer",",","default","is","nn.BatchNorm2D",".","Return",":","img","(","paddle.Tensor",")",":","Bottleneck","output","."]
code: def forward(self, x: paddle.Tensor):
      if self.downsample is not None:
          residual = self.residual_layer(x)
      else:
          residual = x
      m = self.conv_block(x)
      return residual + self.conv_block(x)
  
imports: import os
  import argparse
  import paddle
  import paddle.nn
  import numpy
  import paddle.nn.functional
  from paddlehub.env import MODULE_HOME
  from paddlehub.module.module import moduleinfo
  from paddlehub.vision.transforms import Compose, Resize, CenterCrop
  from paddlehub.module.cv_module import StyleTransferModule
label_desc: Use image node_id 2 for calling the Bottleneck obj's underlying member method code with example usage: obj.forward(x) and returns: unknown