class_docstr: YOLOX network, see https://arxiv.org/abs/2107.08430
  
  Args:
      backbone (nn.Layer): backbone instance
      neck (nn.Layer): neck instance
      head (nn.Layer): head instance
      for_mot (bool): whether used for MOT or not
      input_size (list[int]): initial scale, will be reset by self._preprocess()
      size_stride (int): stride of the size range
      size_range (list[int]): multi-scale range for training
      random_interval (int): interval of iter to change self._input_size
class_docstr_tok: ["YOLOX","network",",","see","https",":","\/\/arxiv.org\/abs\/2107.08430","Args",":","backbone","(","nn.Layer",")",":","backbone","instance","neck","(","nn.Layer",")",":","neck","instance","head","(","nn.Layer",")",":","head","instance","for_mot","(","bool",")",":","whether","used","for","MOT","or","not","input_size","(","list","[","int","]",")",":","initial","scale",",","will","be","reset","by","self._preprocess","(",")","size_stride","(","int",")",":","stride","of","the","size","range","size_range","(","list","[","int","]",")",":","multi-scale","range","for","training","random_interval","(","int",")",":","interval","of","iter","to","change","self._input_size"]
code: def __init__(
      self,
      backbone="CSPDarkNet",
      neck="YOLOCSPPAN",
      head="YOLOXHead",
      for_mot=False,
      input_size=[640, 640],
      size_stride=32,
      size_range=[15, 25],
      random_interval=10,
  ):
      super(YOLOX, self).__init__()
      self.backbone = backbone
      self.neck = neck
      self.head = head
      self.for_mot = for_mot
  
      self.input_size = input_size
      self._input_size = paddle.to_tensor(input_size)
      self.size_stride = size_stride
      self.size_range = size_range
      self.random_interval = random_interval
      self._step = 0
  
file_path: PaddleDetection/ppdet/modeling/architectures/yolox.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 random
  import paddle
  import paddle.nn.functional
  import paddle.distributed
label_desc: Use image node_id 1 to create a new YOLOX object from inherited base classes: BaseArch with example: obj = YOLOX(backbone, neck, head, for_mot, input_size, size_stride, size_range, random_interval)