initial push
This commit is contained in:
BIN
backend/project_54/54/__pycache__/exp.cpython-310.pyc
Normal file
BIN
backend/project_54/54/__pycache__/exp.cpython-310.pyc
Normal file
Binary file not shown.
67
backend/project_54/54/exp.py
Normal file
67
backend/project_54/54/exp.py
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding:utf-8 -*-
|
||||
# Copyright (c) Megvii, Inc. and its affiliates.
|
||||
|
||||
import os
|
||||
|
||||
from yolox.exp import Exp as MyExp
|
||||
|
||||
|
||||
class Exp(MyExp):
|
||||
def __init__(self):
|
||||
super(Exp, self).__init__()
|
||||
self.data_dir = "/home/kitraining/To_Annotate/"
|
||||
self.train_ann = "coco_project_54_train.json"
|
||||
self.val_ann = "coco_project_54_valid.json"
|
||||
self.test_ann = "coco_project_54_test.json"
|
||||
self.num_classes = 3
|
||||
self.pretrained_ckpt = r'/home/kitraining/Yolox/YOLOX-main/pretrained/YOLOX_s.pth'
|
||||
self.depth = 0.33
|
||||
self.width = 0.50
|
||||
self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]
|
||||
|
||||
|
||||
# -------------- training config --------------------- #
|
||||
|
||||
self.use_focal_loss = True # Focal Loss for better class imbalance handling
|
||||
self.focal_loss_alpha = 0.25
|
||||
self.focal_loss_gamma = 1.5
|
||||
|
||||
self.warmup_epochs = 20 # More warmup
|
||||
self.max_epoch = 150 # More epochs for better convergence
|
||||
self.act = "silu" # Activation function
|
||||
self.no_aug_epochs = 30 # No augmentation for last epochs to stabilize training
|
||||
|
||||
self.class_weights = [1.0, 1.0, 1.0] # Weights for each class to handle imbalance
|
||||
|
||||
# Thresholds
|
||||
self.test_conf = 0.15 # Low to catch more the second class
|
||||
self.nmsthre = 0.5 # IoU threshold for NMS
|
||||
|
||||
# Data Augmentation intens to improve generalization
|
||||
self.enable_mixup = True
|
||||
self.mixup_prob = 0.7 # mixup
|
||||
self.mosaic_prob = 0.8 # mosaico
|
||||
self.degrees = 20.0 # Rotation
|
||||
self.translate = 0.2 # Translation
|
||||
self.scale = (0.5, 1.5) # Scaling
|
||||
self.shear = 5.0 # Shear
|
||||
self.flip_prob = 0.8
|
||||
self.hsv_prob = 1.0
|
||||
|
||||
# Learning rate
|
||||
self.basic_lr_per_img = 0.001 / 64.0 # Lower LR to avoid divergence
|
||||
self.scheduler = "yoloxwarmcos"
|
||||
self.min_lr_ratio = 0.01
|
||||
|
||||
# Loss weights
|
||||
self.cls_loss_weight = 8.0 # More weight to the classification loss
|
||||
self.obj_loss_weight = 1.0
|
||||
self.reg_loss_weight = 1.0
|
||||
|
||||
# Input size bigger for better detection of small objects like babys
|
||||
self.input_size = (832, 832)
|
||||
self.test_size = (832, 832)
|
||||
|
||||
# Batch size
|
||||
self.batch_size = 5 # Reduce if you have memory issues
|
||||
26
backend/project_54/54/exp_infer.py
Normal file
26
backend/project_54/54/exp_infer.py
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding:utf-8 -*-
|
||||
# Copyright (c) Megvii, Inc. and its affiliates.
|
||||
|
||||
import os
|
||||
|
||||
from yolox.exp import Exp as MyExp
|
||||
|
||||
|
||||
class Exp(MyExp):
|
||||
def __init__(self):
|
||||
super(Exp, self).__init__()
|
||||
self.data_dir = "/home/kitraining/To_Annotate/"
|
||||
self.train_ann = "coco_project_54_train.json"
|
||||
self.val_ann = "coco_project_54_valid.json"
|
||||
self.test_ann = "coco_project_54_test.json"
|
||||
self.num_classes = 2
|
||||
self.pretrained_ckpt = r'/home/kitraining/Yolox/YOLOX-main/pretrained/YOLOX-s.pth'
|
||||
self.depth = 1
|
||||
self.width = 1
|
||||
self.input_size = (640, 640)
|
||||
self.mosaic_scale = (0.1, 2)
|
||||
self.random_size = (10, 20)
|
||||
self.test_size = (640, 640)
|
||||
self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]
|
||||
self.enable_mixup = False
|
||||
Reference in New Issue
Block a user