class_docstr: Res-net Basic Block
class_docstr_tok: ["Res-net","Basic","Block"]
docstr: Args:
      in_planes (int): input channel
      out_planes (int): channels of the middle feature
      stride (int): stride of the convolution
  Returns:
      nn.Layer: Conv2D with kernel = 3
docstr_tok: ["Args",":","in_planes","(","int",")",":","input","channel","out_planes","(","int",")",":","channels","of","the","middle","feature","stride","(","int",")",":","stride","of","the","convolution","Returns",":","nn.Layer",":","Conv2D","with","kernel","=","3"]
code: def _conv3x3(self, in_planes, out_planes, stride=1):
      """
  
      Args:
          in_planes (int): input channel
          out_planes (int): channels of the middle feature
          stride (int): stride of the convolution
      Returns:
          nn.Layer: Conv2D with kernel = 3
  
      """
  
      return nn.Conv2D(
          in_planes,
          out_planes,
          kernel_size=3,
          stride=stride,
          padding=1,
          weight_attr=conv_weight_attr,
          bias_attr=False,
      )
  
file_path: PaddleOCR/ppocr/modeling/backbones/rec_resnet_32.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import paddle.nn
label_desc: Use image node_id 2 for calling the BasicBlock obj's underlying member method code with example usage: obj._conv3x3(in_planes, out_planes, stride) and returns: nn