class_docstr: Single Shot MultiBox Detector, see https://arxiv.org/abs/1512.02325
  
  Args:
      backbone (nn.Layer): backbone instance
      ssd_head (nn.Layer): `SSDHead` instance
      post_process (object): `BBoxPostProcess` instance
class_docstr_tok: ["Single","Shot","MultiBox","Detector",",","see","https",":","\/\/arxiv.org\/abs\/1512.02325","Args",":","backbone","(","nn.Layer",")",":","backbone","instance","ssd_head","(","nn.Layer",")",":","`","SSDHead","`","instance","post_process","(","object",")",":","`","BBoxPostProcess","`","instance"]
code: def __init__(
      self, backbone, ssd_head, post_process, r34_backbone=False
  ):
      super(SSD, self).__init__()
      self.backbone = backbone
      self.ssd_head = ssd_head
      self.post_process = post_process
      self.r34_backbone = r34_backbone
      if self.r34_backbone:
          from ppdet.modeling.backbones.resnet import ResNet
  
          assert (
              isinstance(self.backbone, ResNet)
              and self.backbone.depth == 34
          ), "If you set r34_backbone=True, please use ResNet-34 as backbone."
          self.backbone.res_layers[2].blocks[
              0
          ].branch2a.conv._stride = [1, 1]
          self.backbone.res_layers[2].blocks[0].short.conv._stride = [
              1,
              1,
          ]
  
file_path: PaddleDetection/ppdet/modeling/architectures/ssd.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from ppdet.core.workspace import register, create
  from .meta_arch import BaseArch
  import paddle
  import paddle.nn.functional
label_desc: Use image node_id 1 to create a new SSD object from inherited base classes: BaseArch with example: obj = SSD(backbone, ssd_head, post_process, r34_backbone)