Project Name: Megvii-BaseDetection+YOLOX
Language: Python
Statement Type: API

Source Code:
def get_model(self):
        from yolox.models import YOLOX, YOLOPAFPN, YOLOXHead

        def init_yolo(M):
            for m in M.modules():
                if isinstance(m, nn.BatchNorm2d):
                    m.eps = 1e-3
                    m.momentum = 0.03

        if getattr(self, "model", None) is None:
            in_channels = [256, 512, 1024]
            backbone = YOLOPAFPN(self.depth, self.width, in_channels=in_channels, act=self.act)
            head = YOLOXHead(self.num_classes, self.width, in_channels=in_channels, act=self.act)
            self.model = YOLOX(backbone, head)

        self.model.apply(init_yolo)
        self.model.head.initialize_biases(1e-2)
        self.model.train()
        return self.model

get_model(self=╒═══════════════════╤════════════════════════════╕│ keys              │ values                     │╞═══════════════════╪════════════════════════════╡│ seed              │ None                       │├───────────────────┼────────────────────────────┤│ output_dir        │ './YOLOX_outputs'          │├───────────────────┼────────────────────────────┤│ print_interval    │ 10                         │├───────────────────┼────────────────────────────┤│ eval_interval     │ 10                         │├───────────────────┼────────────────────────────┤│ dataset           │ None                       │├───────────────────┼────────────────────────────┤│ num_classes       │ 80                         │├───────────────────┼────────────────────────────┤│ depth             │ 0.33                       │├───────────────────┼────────────────────────────┤│ width             │ 0.5                        │├───────────────────┼────────────────────────────┤│ act               │ 'silu'                     │├───────────────────┼────────────────────────────┤│ data_num_workers  │ 4                          │├───────────────────┼────────────────────────────┤│ input_size        │ (640, 640)                 │├───────────────────┼────────────────────────────┤│ multiscale_range  │ 5                          │├───────────────────┼────────────────────────────┤│ data_dir          │ None                       │├───────────────────┼────────────────────────────┤│ train_ann         │ 'instances_train2017.json' │├───────────────────┼────────────────────────────┤│ val_ann           │ 'instances_val2017.json'   │├───────────────────┼────────────────────────────┤│ test_ann          │ 'instances_test2017.json'  │├───────────────────┼────────────────────────────┤│ mosaic_prob       │ 1.0                        │├───────────────────┼────────────────────────────┤│ mixup_prob        │ 1.0                        │├───────────────────┼────────────────────────────┤│ hsv_prob          │ 1.0                        │├───────────────────┼────────────────────────────┤│ flip_prob         │ 0.5                        │├───────────────────┼────────────────────────────┤│ degrees           │ 10.0                       │├───────────────────┼────────────────────────────┤│ translate         │ 0.1                        │├───────────────────┼────────────────────────────┤│ mosaic_scale      │ (0.1, 2)                   │├───────────────────┼────────────────────────────┤│ enable_mixup      │ True                       │├───────────────────┼────────────────────────────┤│ mixup_scale       │ (0.5, 1.5)                 │├───────────────────┼────────────────────────────┤│ shear             │ 2.0                        │├───────────────────┼────────────────────────────┤│ warmup_epochs     │ 5                          │├───────────────────┼────────────────────────────┤│ max_epoch         │ 300                        │├───────────────────┼────────────────────────────┤│ warmup_lr         │ 0                          │├───────────────────┼────────────────────────────┤│ min_lr_ratio      │ 0.05                       │├───────────────────┼────────────────────────────┤│ basic_lr_per_img  │ 0.00015625                 │├───────────────────┼────────────────────────────┤│ scheduler         │ 'yoloxwarmcos'             │├───────────────────┼────────────────────────────┤│ no_aug_epochs     │ 15                         │├───────────────────┼────────────────────────────┤│ ema               │ True                       │├───────────────────┼────────────────────────────┤│ weight_decay      │ 0.0005                     │├───────────────────┼────────────────────────────┤│ momentum          │ 0.9                        │├───────────────────┼────────────────────────────┤│ save_history_ckpt │ True                       │├───────────────────┼────────────────────────────┤│ exp_name          │ 'yolox_s'                  │├───────────────────┼────────────────────────────┤│ test_size         │ (640, 640)                 │├───────────────────┼────────────────────────────┤│ test_conf         │ 0.01                       │├───────────────────┼────────────────────────────┤│ nmsthre           │ 0.65                       │╘═══════════════════╧════════════════════════════╛, self.act='silu', self.basic_lr_per_img=0.00015625, self.data_dir=None, self.data_num_workers=4, self.dataset=None, self.degrees=10.0, self.depth=0.33, self.ema=True, self.enable_mixup=True, self.eval_interval=10, self.exp_name='yolox_s', self.flip_prob=0.5, self.hsv_prob=1.0, self.input_size=(640, 640), self.max_epoch=300, self.min_lr_ratio=0.05, self.mixup_prob=1.0, self.mixup_scale=(0.5, 1.5), self.momentum=0.9, self.mosaic_prob=1.0, self.mosaic_scale=(0.1, 2), self.multiscale_range=5, self.nmsthre=0.65, self.no_aug_epochs=15, self.num_classes=80, self.output_dir='./YOLOX_outputs', self.print_interval=10, self.save_history_ckpt=True, self.scheduler='yoloxwarmcos', self.seed=None, self.shear=2.0, self.test_ann='instances_test2017.json', self.test_conf=0.01, self.test_size=(640, 640), self.train_ann='instances_train2017.json', self.translate=0.1, self.val_ann='instances_val2017.json', self.warmup_epochs=5, self.warmup_lr=0, self.weight_decay=0.0005, self.width=0.5)

Selected Statement: self.model = YOLOX(backbone, head)

Function Input:
self: ╒═══════════════════╤════════════════════════════╕│ keys              │ values                     │╞═══════════════════╪════════════════════════════╡│ seed              │ None                       │├───────────────────┼────────────────────────────┤│ output_dir        │ './YOLOX_outputs'          │├───────────────────┼────────────────────────────┤│ print_interval    │ 10                         │├───────────────────┼────────────────────────────┤│ eval_interval     │ 10                         │├───────────────────┼────────────────────────────┤│ dataset           │ None                       │├───────────────────┼────────────────────────────┤│ num_classes       │ 80                         │├───────────────────┼────────────────────────────┤│ depth             │ 0.33                       │├───────────────────┼────────────────────────────┤│ width             │ 0.5                        │├───────────────────┼────────────────────────────┤│ act               │ 'silu'                     │├───────────────────┼────────────────────────────┤│ data_num_workers  │ 4                          │├───────────────────┼────────────────────────────┤│ input_size        │ (640, 640)                 │├───────────────────┼────────────────────────────┤│ multiscale_range  │ 5                          │├───────────────────┼────────────────────────────┤│ data_dir          │ None                       │├───────────────────┼────────────────────────────┤│ train_ann         │ 'instances_train2017.json' │├───────────────────┼────────────────────────────┤│ val_ann           │ 'instances_val2017.json'   │├───────────────────┼────────────────────────────┤│ test_ann          │ 'instances_test2017.json'  │├───────────────────┼────────────────────────────┤│ mosaic_prob       │ 1.0                        │├───────────────────┼────────────────────────────┤│ mixup_prob        │ 1.0                        │├───────────────────┼────────────────────────────┤│ hsv_prob          │ 1.0                        │├───────────────────┼────────────────────────────┤│ flip_prob         │ 0.5                        │├───────────────────┼────────────────────────────┤│ degrees           │ 10.0                       │├───────────────────┼────────────────────────────┤│ translate         │ 0.1                        │├───────────────────┼────────────────────────────┤│ mosaic_scale      │ (0.1, 2)                   │├───────────────────┼────────────────────────────┤│ enable_mixup      │ True                       │├───────────────────┼────────────────────────────┤│ mixup_scale       │ (0.5, 1.5)                 │├───────────────────┼────────────────────────────┤│ shear             │ 2.0                        │├───────────────────┼────────────────────────────┤│ warmup_epochs     │ 5                          │├───────────────────┼────────────────────────────┤│ max_epoch         │ 300                        │├───────────────────┼────────────────────────────┤│ warmup_lr         │ 0                          │├───────────────────┼────────────────────────────┤│ min_lr_ratio      │ 0.05                       │├───────────────────┼────────────────────────────┤│ basic_lr_per_img  │ 0.00015625                 │├───────────────────┼────────────────────────────┤│ scheduler         │ 'yoloxwarmcos'             │├───────────────────┼────────────────────────────┤│ no_aug_epochs     │ 15                         │├───────────────────┼────────────────────────────┤│ ema               │ True                       │├───────────────────┼────────────────────────────┤│ weight_decay      │ 0.0005                     │├───────────────────┼────────────────────────────┤│ momentum          │ 0.9                        │├───────────────────┼────────────────────────────┤│ save_history_ckpt │ True                       │├───────────────────┼────────────────────────────┤│ exp_name          │ 'yolox_s'                  │├───────────────────┼────────────────────────────┤│ test_size         │ (640, 640)                 │├───────────────────┼────────────────────────────┤│ test_conf         │ 0.01                       │├───────────────────┼────────────────────────────┤│ nmsthre           │ 0.65                       │╘═══════════════════╧════════════════════════════╛
self.act: 'silu'
self.basic_lr_per_img: 0.00015625
self.data_dir: None
self.data_num_workers: 4
self.dataset: None
self.degrees: 10.0
self.depth: 0.33
self.ema: True
self.enable_mixup: True
self.eval_interval: 10
self.exp_name: 'yolox_s'
self.flip_prob: 0.5
self.hsv_prob: 1.0
self.input_size: (640, 640)
self.max_epoch: 300
self.min_lr_ratio: 0.05
self.mixup_prob: 1.0
self.mixup_scale: (0.5, 1.5)
self.momentum: 0.9
self.mosaic_prob: 1.0
self.mosaic_scale: (0.1, 2)
self.multiscale_range: 5
self.nmsthre: 0.65
self.no_aug_epochs: 15
self.num_classes: 80
self.output_dir: './YOLOX_outputs'
self.print_interval: 10
self.save_history_ckpt: True
self.scheduler: 'yoloxwarmcos'
self.seed: None
self.shear: 2.0
self.test_ann: 'instances_test2017.json'
self.test_conf: 0.01
self.test_size: (640, 640)
self.train_ann: 'instances_train2017.json'
self.translate: 0.1
self.val_ann: 'instances_val2017.json'
self.warmup_epochs: 5
self.warmup_lr: 0
self.weight_decay: 0.0005
self.width: 0.5

Variable Values Before Statement:
backbone: YOLOPAFPN(  (backbone): CSPDarknet(    (stem): Focus(      (conv): BaseConv(        (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )    (dark2): Sequential(      (0): BaseConv(        (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): CSPLayer(        (conv1): BaseConv(          (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv3): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (m): Sequential(          (0): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )          )        )      )    )    (dark3): Sequential(      (0): BaseConv(        (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): CSPLayer(        (conv1): BaseConv(          (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv3): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (m): Sequential(          (0): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )          )          (1): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_runnin...ffine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  )  (bu_conv2): BaseConv(    (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)    (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)    (act): SiLU(inplace=True)  )  (C3_n3): CSPLayer(    (conv1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  )  (bu_conv1): BaseConv(    (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)    (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)    (act): SiLU(inplace=True)  )  (C3_n4): CSPLayer(    (conv1): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  ))
head: YOLOXHead(  (cls_convs): ModuleList(    (0-2): 3 x Sequential(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )  )  (reg_convs): ModuleList(    (0-2): 3 x Sequential(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )  )  (cls_preds): ModuleList(    (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))  )  (reg_preds): ModuleList(    (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))  )  (obj_preds): ModuleList(    (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))  )  (stems): ModuleList(    (0): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (2): BaseConv(      (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )  )  (l1_loss): L1Loss()  (bcewithlog_loss): BCEWithLogitsLoss()  (iou_loss): IOUloss())

Value After Statement Execution: YOLOX(  (backbone): YOLOPAFPN(    (backbone): CSPDarknet(      (stem): Focus(        (conv): BaseConv(          (conv): Conv2d(12, 32, kernel_size

Variable States During Runtime (line, value):
self: 1
╒═══════════════════╤════════════════════════════╕│ keys              │ values                     │╞═══════════════════╪════════════════════════════╡│ seed              │ None                       │├───────────────────┼────────────────────────────┤│ output_dir        │ './YOLOX_outputs'          │├───────────────────┼────────────────────────────┤│ print_interval    │ 10                         │├───────────────────┼────────────────────────────┤│ eval_interval     │ 10                         │├───────────────────┼────────────────────────────┤│ dataset           │ None                       │├───────────────────┼────────────────────────────┤│ num_classes       │ 80                         │├───────────────────┼────────────────────────────┤│ depth             │ 0.33                       │├───────────────────┼────────────────────────────┤│ width             │ 0.5                        │├───────────────────┼────────────────────────────┤│ act               │ 'silu'                     │├───────────────────┼────────────────────────────┤│ data_num_workers  │ 4                          │├───────────────────┼────────────────────────────┤│ input_size        │ (640, 640)                 │├───────────────────┼────────────────────────────┤│ multiscale_range  │ 5                          │├───────────────────┼────────────────────────────┤│ data_dir          │ None                       │├───────────────────┼────────────────────────────┤│ train_ann         │ 'instances_train2017.json' │├───────────────────┼────────────────────────────┤│ val_ann           │ 'instances_val2017.json'   │├───────────────────┼────────────────────────────┤│ test_ann          │ 'instances_test2017.json'  │├───────────────────┼────────────────────────────┤│ mosaic_prob       │ 1.0                        │├───────────────────┼────────────────────────────┤│ mixup_prob        │ 1.0                        │├───────────────────┼────────────────────────────┤│ hsv_prob          │ 1.0                        │├───────────────────┼────────────────────────────┤│ flip_prob         │ 0.5                        │├───────────────────┼────────────────────────────┤│ degrees           │ 10.0                       │├───────────────────┼────────────────────────────┤│ translate         │ 0.1                        │├───────────────────┼────────────────────────────┤│ mosaic_scale      │ (0.1, 2)                   │├───────────────────┼────────────────────────────┤│ enable_mixup      │ True                       │├───────────────────┼────────────────────────────┤│ mixup_scale       │ (0.5, 1.5)                 │├───────────────────┼────────────────────────────┤│ shear             │ 2.0                        │├───────────────────┼────────────────────────────┤│ warmup_epochs     │ 5                          │├───────────────────┼────────────────────────────┤│ max_epoch         │ 300                        │├───────────────────┼────────────────────────────┤│ warmup_lr         │ 0                          │├───────────────────┼────────────────────────────┤│ min_lr_ratio      │ 0.05                       │├───────────────────┼────────────────────────────┤│ basic_lr_per_img  │ 0.00015625                 │├───────────────────┼────────────────────────────┤│ scheduler         │ 'yoloxwarmcos'             │├───────────────────┼────────────────────────────┤│ no_aug_epochs     │ 15                         │├───────────────────┼────────────────────────────┤│ ema               │ True                       │├───────────────────┼────────────────────────────┤│ weight_decay      │ 0.0005                     │├───────────────────┼────────────────────────────┤│ momentum          │ 0.9                        │├───────────────────┼────────────────────────────┤│ save_history_ckpt │ True                       │├───────────────────┼────────────────────────────┤│ exp_name          │ 'yolox_s'                  │├───────────────────┼────────────────────────────┤│ test_size         │ (640, 640)                 │├───────────────────┼────────────────────────────┤│ test_conf         │ 0.01                       │├───────────────────┼────────────────────────────┤│ nmsthre           │ 0.65                       │╘═══════════════════╧════════════════════════════╛
14
╒═══════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════════════════╕│ keys              │ values                                                                                                  │╞═══════════════════╪═════════════════════════════════════════════════════════════════════════════════════════════════════════╡│ seed              │ None                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ output_dir        │ './YOLOX_outputs'                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ print_interval    │ 10                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ eval_interval     │ 10                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ dataset           │ None                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ num_classes       │ 80                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ depth             │ 0.33                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ width             │ 0.5                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ act               │ 'silu'                                                                                                  │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ data_num_workers  │ 4                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ input_size        │ (640, 640)                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ multiscale_range  │ 5                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ data_dir          │ None                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ train_ann         │ 'instances_train2017.json'                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ val_ann           │ 'instances_val2017.json'                                                                                │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ test_ann          │ 'instances_test2017.json'                                                                               │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mosaic_prob       │ 1.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mixup_prob        │ 1.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ hsv_prob          │ 1.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ flip_prob         │ 0.5                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ degrees           │ 10.0                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ translate         │ 0.1                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mosaic_scale      │ (0.1, 2)                                                                                                │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ enable_mixup      │ True                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mixup_scale       │ (0.5, 1.5)                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ shear             │ 2.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ warmup_epochs     │ 5                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ max_epoch         │ 300                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ warmup_lr         │ 0                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ min_lr_ratio      │ 0.05                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ basic_lr_per_img  │ 0.00015625                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ scheduler         │ 'yoloxwarmcos'                                                                                          │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ no_aug_epochs     │ 15                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ ema               │ True                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ weight_decay      │ 0.0005                                                                                                  │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ momentum          │ 0.9                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ save_history_ckpt │ True                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ exp_name          │ 'yolox_s'                                                                                               │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ test_size         │ (640, 640)                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ test_conf         │ 0.01                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ nmsthre           │ 0.65                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ model             │ YOLOX(                                                                                                  ││                   │   (backbone): YOLOPAFPN(                                                                                ││                   │     (backbone): CSPDarknet(                                                                             ││                   │       (stem): Focus(                                                                                    ││                   │         (conv): BaseConv(                                                                               ││                   │           (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)         ││                   │           (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)         ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark2): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)         ││                   │           (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)         ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark3): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        ││                   │           (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                      ││                   │             (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                      ││                   │             (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (1): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (2): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)   ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark4): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (1): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (2): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark5): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): SPPBottleneck(                                                                             ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): ModuleList(                                                                              ││                   │             (0): MaxPool2d(kernel_size=5, stride=1, padding=2, dilation=1, ceil_mode=False)             ││                   │             (1): MaxPool2d(kernel_size=9, stride=1, padding=4, dilation=1, ceil_mode=False)             ││                   │             (2): MaxPool2d(kernel_size=13, stride=1, padding=6, dilation=1, ceil_mode=False)            ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)                    ││                   │             (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │         (2): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (upsample): Upsample(scale_factor=2.0, mode='nearest')                                              ││                   │     (lateral_conv0): BaseConv(                                                                          ││                   │       (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                           ││                   │       (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_p4): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (reduce_conv1): BaseConv(                                                                           ││                   │       (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                           ││                   │       (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_p3): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                          ││                   │         (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)           ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                          ││                   │         (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)           ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │             (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)       ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (bu_conv2): BaseConv(                                                                               ││                   │       (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)           ││                   │       (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_n3): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)     ││                   │             (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (bu_conv1): BaseConv(                                                                               ││                   │       (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)           ││                   │       (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_n4): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)     ││                   │             (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │   )                                                                                                     ││                   │   (head): YOLOXHead(                                                                                    ││                   │     (cls_convs): ModuleList(                                                                            ││                   │       (0-2): 3 x Sequential(                                                                            ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (reg_convs): ModuleList(                                                                            ││                   │       (0-2): 3 x Sequential(                                                                            ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (cls_preds): ModuleList(                                                                            ││                   │       (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))                                     ││                   │     )                                                                                                   ││                   │     (reg_preds): ModuleList(                                                                            ││                   │       (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))                                      ││                   │     )                                                                                                   ││                   │     (obj_preds): ModuleList(                                                                            ││                   │       (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))                                      ││                   │     )                                                                                                   ││                   │     (stems): ModuleList(                                                                                ││                   │       (0): BaseConv(                                                                                    ││                   │         (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (1): BaseConv(                                                                                    ││                   │         (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (2): BaseConv(                                                                                    ││                   │         (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (l1_loss): L1Loss()                                                                                 ││                   │     (bcewithlog_loss): BCEWithLogitsLoss()                                                              ││                   │     (iou_loss): IOUloss()                                                                               ││                   │   )                                                                                                     ││                   │ )                                                                                                       │╘═══════════════════╧═════════════════════════════════════════════════════════════════════════════════════════════════════════╛
16
╒═══════════════════╤═════════════════════════════════════════════════════════════════════════════════════════════════════════╕│ keys              │ values                                                                                                  │╞═══════════════════╪═════════════════════════════════════════════════════════════════════════════════════════════════════════╡│ seed              │ None                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ output_dir        │ './YOLOX_outputs'                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ print_interval    │ 10                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ eval_interval     │ 10                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ dataset           │ None                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ num_classes       │ 80                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ depth             │ 0.33                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ width             │ 0.5                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ act               │ 'silu'                                                                                                  │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ data_num_workers  │ 4                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ input_size        │ (640, 640)                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ multiscale_range  │ 5                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ data_dir          │ None                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ train_ann         │ 'instances_train2017.json'                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ val_ann           │ 'instances_val2017.json'                                                                                │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ test_ann          │ 'instances_test2017.json'                                                                               │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mosaic_prob       │ 1.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mixup_prob        │ 1.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ hsv_prob          │ 1.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ flip_prob         │ 0.5                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ degrees           │ 10.0                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ translate         │ 0.1                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mosaic_scale      │ (0.1, 2)                                                                                                │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ enable_mixup      │ True                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ mixup_scale       │ (0.5, 1.5)                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ shear             │ 2.0                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ warmup_epochs     │ 5                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ max_epoch         │ 300                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ warmup_lr         │ 0                                                                                                       │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ min_lr_ratio      │ 0.05                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ basic_lr_per_img  │ 0.00015625                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ scheduler         │ 'yoloxwarmcos'                                                                                          │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ no_aug_epochs     │ 15                                                                                                      │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ ema               │ True                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ weight_decay      │ 0.0005                                                                                                  │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ momentum          │ 0.9                                                                                                     │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ save_history_ckpt │ True                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ exp_name          │ 'yolox_s'                                                                                               │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ test_size         │ (640, 640)                                                                                              │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ test_conf         │ 0.01                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ nmsthre           │ 0.65                                                                                                    │├───────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ model             │ YOLOX(                                                                                                  ││                   │   (backbone): YOLOPAFPN(                                                                                ││                   │     (backbone): CSPDarknet(                                                                             ││                   │       (stem): Focus(                                                                                    ││                   │         (conv): BaseConv(                                                                               ││                   │           (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)         ││                   │           (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark2): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)         ││                   │           (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark3): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        ││                   │           (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                      ││                   │             (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                      ││                   │             (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (1): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (2): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                   ││                   │                 (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)   ││                   │                 (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)  ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark4): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (1): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │             (2): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │       (dark5): Sequential(                                                                              ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): SPPBottleneck(                                                                             ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): ModuleList(                                                                              ││                   │             (0): MaxPool2d(kernel_size=5, stride=1, padding=2, dilation=1, ceil_mode=False)             ││                   │             (1): MaxPool2d(kernel_size=9, stride=1, padding=4, dilation=1, ceil_mode=False)             ││                   │             (2): MaxPool2d(kernel_size=13, stride=1, padding=6, dilation=1, ceil_mode=False)            ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)                    ││                   │             (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │         (2): CSPLayer(                                                                                  ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv3): BaseConv(                                                                            ││                   │             (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (m): Sequential(                                                                              ││                   │             (0): Bottleneck(                                                                            ││                   │               (conv1): BaseConv(                                                                        ││                   │                 (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                 ││                   │                 (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │               (conv2): BaseConv(                                                                        ││                   │                 (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False) ││                   │                 (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True) ││                   │                 (act): SiLU(inplace=True)                                                               ││                   │               )                                                                                         ││                   │             )                                                                                           ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (upsample): Upsample(scale_factor=2.0, mode='nearest')                                              ││                   │     (lateral_conv0): BaseConv(                                                                          ││                   │       (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                           ││                   │       (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)           ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_p4): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (reduce_conv1): BaseConv(                                                                           ││                   │       (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                           ││                   │       (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)           ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_p3): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                          ││                   │         (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                          ││                   │         (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                       ││                   │             (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │             (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (bu_conv2): BaseConv(                                                                               ││                   │       (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)           ││                   │       (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)           ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_n3): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)     ││                   │             (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (bu_conv1): BaseConv(                                                                               ││                   │       (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)           ││                   │       (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)           ││                   │       (act): SiLU(inplace=True)                                                                         ││                   │     )                                                                                                   ││                   │     (C3_n4): CSPLayer(                                                                                  ││                   │       (conv1): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv2): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (conv3): BaseConv(                                                                                ││                   │         (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (m): Sequential(                                                                                  ││                   │         (0): Bottleneck(                                                                                ││                   │           (conv1): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                     ││                   │             (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │           (conv2): BaseConv(                                                                            ││                   │             (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)     ││                   │             (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)     ││                   │             (act): SiLU(inplace=True)                                                                   ││                   │           )                                                                                             ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │   )                                                                                                     ││                   │   (head): YOLOXHead(                                                                                    ││                   │     (cls_convs): ModuleList(                                                                            ││                   │       (0-2): 3 x Sequential(                                                                            ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (reg_convs): ModuleList(                                                                            ││                   │       (0-2): 3 x Sequential(                                                                            ││                   │         (0): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │         (1): BaseConv(                                                                                  ││                   │           (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)       ││                   │           (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)       ││                   │           (act): SiLU(inplace=True)                                                                     ││                   │         )                                                                                               ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (cls_preds): ModuleList(                                                                            ││                   │       (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))                                     ││                   │     )                                                                                                   ││                   │     (reg_preds): ModuleList(                                                                            ││                   │       (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))                                      ││                   │     )                                                                                                   ││                   │     (obj_preds): ModuleList(                                                                            ││                   │       (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))                                      ││                   │     )                                                                                                   ││                   │     (stems): ModuleList(                                                                                ││                   │       (0): BaseConv(                                                                                    ││                   │         (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (1): BaseConv(                                                                                    ││                   │         (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │       (2): BaseConv(                                                                                    ││                   │         (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                         ││                   │         (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)         ││                   │         (act): SiLU(inplace=True)                                                                       ││                   │       )                                                                                                 ││                   │     )                                                                                                   ││                   │     (l1_loss): L1Loss()                                                                                 ││                   │     (bcewithlog_loss): BCEWithLogitsLoss()                                                              ││                   │     (iou_loss): IOUloss()                                                                               ││                   │   )                                                                                                     ││                   │ )                                                                                                       │╘═══════════════════╧═════════════════════════════════════════════════════════════════════════════════════════════════════════╛
self.act: 1
'silu'
self.basic_lr_per_img: 1
0.00015625
self.data_dir: 1
None
self.data_num_workers: 1
4
self.dataset: 1
None
self.degrees: 1
10.0
self.depth: 1
0.33
self.ema: 1
True
self.enable_mixup: 1
True
self.eval_interval: 1
10
self.exp_name: 1
'yolox_s'
self.flip_prob: 1
0.5
self.hsv_prob: 1
1.0
self.input_size: 1
(640, 640)
self.max_epoch: 1
300
self.min_lr_ratio: 1
0.05
self.mixup_prob: 1
1.0
self.mixup_scale: 1
(0.5, 1.5)
self.momentum: 1
0.9
self.mosaic_prob: 1
1.0
self.mosaic_scale: 1
(0.1, 2)
self.multiscale_range: 1
5
self.nmsthre: 1
0.65
self.no_aug_epochs: 1
15
self.num_classes: 1
80
self.output_dir: 1
'./YOLOX_outputs'
self.print_interval: 1
10
self.save_history_ckpt: 1
True
self.scheduler: 1
'yoloxwarmcos'
self.seed: 1
None
self.shear: 1
2.0
self.test_ann: 1
'instances_test2017.json'
self.test_conf: 1
0.01
self.test_size: 1
(640, 640)
self.train_ann: 1
'instances_train2017.json'
self.translate: 1
0.1
self.val_ann: 1
'instances_val2017.json'
self.warmup_epochs: 1
5
self.warmup_lr: 1
0
self.weight_decay: 1
0.0005
self.width: 1
0.5
YOLOX: 2
<class 'yolox.models.yolox.YOLOX'>
YOLOPAFPN: 2
<class 'yolox.models.yolo_pafpn.YOLOPAFPN'>
YOLOXHead: 2
<class 'yolox.models.yolo_head.YOLOXHead'>
init_yolo: 4
<function Exp.get_model.<locals>.init_yolo at 0x7fb8c3463550>
in_channels: 11
[256, 512, 1024]
backbone: 12
YOLOPAFPN(  (backbone): CSPDarknet(    (stem): Focus(      (conv): BaseConv(        (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )    (dark2): Sequential(      (0): BaseConv(        (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): CSPLayer(        (conv1): BaseConv(          (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv3): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (m): Sequential(          (0): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )          )        )      )    )    (dark3): Sequential(      (0): BaseConv(        (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): CSPLayer(        (conv1): BaseConv(          (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv3): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (m): Sequential(          (0): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )          )          (1): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_runnin...ffine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  )  (bu_conv2): BaseConv(    (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)    (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)    (act): SiLU(inplace=True)  )  (C3_n3): CSPLayer(    (conv1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  )  (bu_conv1): BaseConv(    (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)    (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)    (act): SiLU(inplace=True)  )  (C3_n4): CSPLayer(    (conv1): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  ))
16
YOLOPAFPN(  (backbone): CSPDarknet(    (stem): Focus(      (conv): BaseConv(        (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )    (dark2): Sequential(      (0): BaseConv(        (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): CSPLayer(        (conv1): BaseConv(          (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv3): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (m): Sequential(          (0): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )          )        )      )    )    (dark3): Sequential(      (0): BaseConv(        (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): CSPLayer(        (conv1): BaseConv(          (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv3): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (m): Sequential(          (0): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )          )          (1): Bottleneck(            (conv1): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)              (act): SiLU(inplace=True)            )            (conv2): BaseConv(              (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)              (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=Tru...k_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  )  (bu_conv2): BaseConv(    (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)    (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)    (act): SiLU(inplace=True)  )  (C3_n3): CSPLayer(    (conv1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  )  (bu_conv1): BaseConv(    (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)    (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)    (act): SiLU(inplace=True)  )  (C3_n4): CSPLayer(    (conv1): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv2): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (conv3): BaseConv(      (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (m): Sequential(      (0): Bottleneck(        (conv1): BaseConv(          (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (conv2): BaseConv(          (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )  ))
head: 13
YOLOXHead(  (cls_convs): ModuleList(    (0-2): 3 x Sequential(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )  )  (reg_convs): ModuleList(    (0-2): 3 x Sequential(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )  )  (cls_preds): ModuleList(    (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))  )  (reg_preds): ModuleList(    (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))  )  (obj_preds): ModuleList(    (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))  )  (stems): ModuleList(    (0): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (2): BaseConv(      (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )  )  (l1_loss): L1Loss()  (bcewithlog_loss): BCEWithLogitsLoss()  (iou_loss): IOUloss())
16
YOLOXHead(  (cls_convs): ModuleList(    (0-2): 3 x Sequential(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )  )  (reg_convs): ModuleList(    (0-2): 3 x Sequential(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )  )  (cls_preds): ModuleList(    (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))  )  (reg_preds): ModuleList(    (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))  )  (obj_preds): ModuleList(    (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))  )  (stems): ModuleList(    (0): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (2): BaseConv(      (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )  )  (l1_loss): L1Loss()  (bcewithlog_loss): BCEWithLogitsLoss()  (iou_loss): IOUloss())
self.model: 14
YOLOX(  (backbone): YOLOPAFPN(    (backbone): CSPDarknet(      (stem): Focus(        (conv): BaseConv(          (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )      (dark2): Sequential(        (0): BaseConv(          (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )      (dark3): Sequential(        (0): BaseConv(          (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (1): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (2): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )      (dark4): Sequential(        (0): BaseConv(          (conv): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (1): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (2): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )      (dark5): Sequential(        (0): BaseConv(          (conv): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): SPPBottleneck(          (conv1): BaseConv(            (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): ModuleList(            (0): MaxPool2d(kernel_size=5, stride=1, padding=2, dilation=1, ceil_mode=False)            (1): MaxPool2d(kernel_size=9, stride=1, padding=4, dilation=1, ceil_mode=False)            (2): MaxPool2d(kernel_size=13, stride=1, padding=6, dilation=1, ceil_mode=False)          )          (conv2): BaseConv(            (conv): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )        (2): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )    )    (upsample): Upsample(scale_factor=2.0, mode='nearest')    (lateral_conv0): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_p4): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )    (reduce_conv1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_p3): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )    (bu_conv2): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_n3): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )    (bu_conv1): BaseConv(      (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_n4): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )  )  (head): YOLOXHead(    (cls_convs): ModuleList(      (0-2): 3 x Sequential(        (0): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )    (reg_convs): ModuleList(      (0-2): 3 x Sequential(        (0): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )    (cls_preds): ModuleList(      (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))    )    (reg_preds): ModuleList(      (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))    )    (obj_preds): ModuleList(      (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))    )    (stems): ModuleList(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (2): BaseConv(        (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )    (l1_loss): L1Loss()    (bcewithlog_loss): BCEWithLogitsLoss()    (iou_loss): IOUloss()  ))
16
YOLOX(  (backbone): YOLOPAFPN(    (backbone): CSPDarknet(      (stem): Focus(        (conv): BaseConv(          (conv): Conv2d(12, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )      (dark2): Sequential(        (0): BaseConv(          (conv): Conv2d(32, 64, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(64, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(32, 32, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(32, 32, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(32, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )      (dark3): Sequential(        (0): BaseConv(          (conv): Conv2d(64, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(128, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (1): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (2): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )      (dark4): Sequential(        (0): BaseConv(          (conv): Conv2d(128, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (1): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )            (2): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )      (dark5): Sequential(        (0): BaseConv(          (conv): Conv2d(256, 512, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)          (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): SPPBottleneck(          (conv1): BaseConv(            (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): ModuleList(            (0): MaxPool2d(kernel_size=5, stride=1, padding=2, dilation=1, ceil_mode=False)            (1): MaxPool2d(kernel_size=9, stride=1, padding=4, dilation=1, ceil_mode=False)            (2): MaxPool2d(kernel_size=13, stride=1, padding=6, dilation=1, ceil_mode=False)          )          (conv2): BaseConv(            (conv): Conv2d(1024, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )        (2): CSPLayer(          (conv1): BaseConv(            (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv3): BaseConv(            (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (m): Sequential(            (0): Bottleneck(              (conv1): BaseConv(                (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)                (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )              (conv2): BaseConv(                (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)                (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)                (act): SiLU(inplace=True)              )            )          )        )      )    )    (upsample): Upsample(scale_factor=2.0, mode='nearest')    (lateral_conv0): BaseConv(      (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_p4): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )    (reduce_conv1): BaseConv(      (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_p3): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(256, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(64, 64, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(64, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )    (bu_conv2): BaseConv(      (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)      (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_n3): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )    (bu_conv1): BaseConv(      (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)      (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)      (act): SiLU(inplace=True)    )    (C3_n4): CSPLayer(      (conv1): BaseConv(        (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv2): BaseConv(        (conv): Conv2d(512, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (conv3): BaseConv(        (conv): Conv2d(512, 512, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(512, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (m): Sequential(        (0): Bottleneck(          (conv1): BaseConv(            (conv): Conv2d(256, 256, kernel_size=(1, 1), stride=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )          (conv2): BaseConv(            (conv): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)            (bn): BatchNorm2d(256, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)            (act): SiLU(inplace=True)          )        )      )    )  )  (head): YOLOXHead(    (cls_convs): ModuleList(      (0-2): 3 x Sequential(        (0): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )    (reg_convs): ModuleList(      (0-2): 3 x Sequential(        (0): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )        (1): BaseConv(          (conv): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), bias=False)          (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)          (act): SiLU(inplace=True)        )      )    )    (cls_preds): ModuleList(      (0-2): 3 x Conv2d(128, 80, kernel_size=(1, 1), stride=(1, 1))    )    (reg_preds): ModuleList(      (0-2): 3 x Conv2d(128, 4, kernel_size=(1, 1), stride=(1, 1))    )    (obj_preds): ModuleList(      (0-2): 3 x Conv2d(128, 1, kernel_size=(1, 1), stride=(1, 1))    )    (stems): ModuleList(      (0): BaseConv(        (conv): Conv2d(128, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (1): BaseConv(        (conv): Conv2d(256, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )      (2): BaseConv(        (conv): Conv2d(512, 128, kernel_size=(1, 1), stride=(1, 1), bias=False)        (bn): BatchNorm2d(128, eps=0.001, momentum=0.03, affine=True, track_running_stats=True)        (act): SiLU(inplace=True)      )    )    (l1_loss): L1Loss()    (bcewithlog_loss): BCEWithLogitsLoss()    (iou_loss): IOUloss()  ))