XinzeLee / RotateObjectDetection

This repository is based on Ultralytics/yolov5, with adjustments to enable rotate prediction boxes.
113 stars 21 forks source link

Training for 15 classes #21

Open thomas9574 opened 2 years ago

thomas9574 commented 2 years ago

Hi, i tried to training the netorwk for 15 classes, i launched all the codes as they are in tutorial1, but even if i reached 340 epochs the mAP0.5 is always zero,the images are 1024x1024 pixels, could you help me please ?

Zivid99 commented 2 years ago

Did u compile it finally? I encountered this problems, too. btw, when i trained the first epoch, the number of mAP@.5 mAP@.5:.95: was stop at 0%; but my pycharm was running busily. here is my problem. Any help would be appreciated.

`python rotate_train.py --weights rotate-yolov5s-ucas.pt --cfg rotate_yolov5s_mini_voc2017.yaml --data mini_voc2017.yaml --hyp hyp.myvoc2017.yaml --img-size 1024 --epochs 2 --batch-size 4 --noautoanchor --rotate --workers 0 --device cpu

Warning: "polygon_inter_union_cuda" and "polygon_b_inter_union_cuda" are not installed. The Exception is: No module named 'polygon_inter_union_cuda'.
YOLOv5 2022-4-15 torch 1.7.1+cu101 CPU

Namespace(adam=False, artifact_alias='latest', batch_size=4, bbox_interval=-1, bucket='', cache_images=False, cfg='.\models\rotate_yolov5s_mini_voc2017.yaml', data='.\data\mini_voc2017.yaml', device='cpu', entity=None, epochs=2, evolve=False, e xist_ok=False, global_rank=-1, hyp='.\data\hyp.myvoc2017.yaml', image_weights=False, img_size=[1024, 1024], label_smoothing=0.0, linear_lr=False, local_rank=-1, multi_scale=False, name='exp', noautoanchor=True, nosave=False, notest=False, project ='runs/train', quad=False, rect=False, resume=False, rotate=True, save_dir='runs\train\exp14', save_period=-1, single_cls=False, sync_bn=False, total_batch_size=4, upload_dataset=False, weights='rotate-yolov5s-ucas.pt', workers=0, world_size=1)
tensorboard: Start with 'tensorboard --logdir runs/train', view at http://localhost:6006/ hyperparameters: lr0=0.01, lrf=0.2, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=0.05, cls=0.5, cls_pw=1.0, obj=1.0, obj_pw=1.0, iou_t=0.1, anchor_t=4.0, fl_gamma=0.0, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=30.0, translate=0.1, scale=0.0, shear=5.0, perspective=0.0005, flipud=0.5, fliplr=0.5, mosaic=0.0, mixup=0.0 wandb: Install Weights & Biases for YOLOv5 logging with 'pip install wandb' (recommended)

             from  n    params  module                                  arguments                     

0 -1 1 3520 models.common.Focus [3, 32, 3]
1 -1 1 18560 models.common.Conv [32, 64, 3, 2]
2 -1 1 18816 models.common.C3 [64, 64, 1]
3 -1 1 73984 models.common.Conv [64, 128, 3, 2]
4 -1 1 156928 models.common.C3 [128, 128, 3]
5 -1 1 295424 models.common.Conv [128, 256, 3, 2]
6 -1 1 625152 models.common.C3 [256, 256, 3]
7 -1 1 1180672 models.common.Conv [256, 512, 3, 2]
8 -1 1 656896 models.common.SPP [512, 512, [5, 9, 13]]
9 -1 1 1182720 models.common.C3 [512, 512, 1, False]
10 -1 1 131584 models.common.Conv [512, 256, 1, 1]
11 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] 12 [-1, 6] 1 0 models.common.Concat [1] 13 -1 1 361984 models.common.C3 [512, 256, 1, False] 14 -1 1 33024 models.common.Conv [256, 128, 1, 1] 15 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] 16 [-1, 4] 1 0 models.common.Concat [1] 17 -1 1 90880 models.common.C3 [256, 128, 1, False] 18 -1 1 147712 models.common.Conv [128, 128, 3, 2] 19 [-1, 14] 1 0 models.common.Concat [1] 20 -1 1 296448 models.common.C3 [256, 256, 1, False]
21 -1 1 590336 models.common.Conv [256, 256, 3, 2] 22 [-1, 10] 1 0 models.common.Concat [1] 23 -1 1 1182720 models.common.C3 [512, 512, 1, False]
24 [17, 20, 23] 1 35960 models.yolo.Rotate_Detect [1, [[8, 4, 9, 6, 22, 5, 27, 9, 21, 15], [49, 14, 73, 11, 52, 22, 97, 22, 76, 39], [167, 27, 308, 46, 175, 107, 273, 73, 504, 76]], [128, 256, 512]] Model Summary: 283 layers, 7083320 parameters, 7083320 gradients, 16.4 GFLOPs

Transferred 354/362 items from rotate-yolov5s-ucas.pt Scaled weight_decay = 0.0005 Optimizer groups: 62 .bias, 62 conv.weight, 59 other train: Scanning '..\mini_voc2017\train.cache' images and labels... 16 found, 0 missing, 0 empty, 0 corrupted: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 16/16 [00:00<?, ?it/s] val: Scanning '..\mini_voc2017\val.cache' images and labels... 8 found, 0 missing, 0 empty, 0 corrupted: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [00:00<?, ?it/s] Plotting labels... Image sizes 1024 train, 1024 test Using 0 dataloader workers Logging results to runs\train\exp14 Starting training for 2 epochs...

 Epoch   gpu_mem       box       obj       cls     total    labels  img_size
   0/1        0G    0.3581    0.1016         0    0.4597        21      1024: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [02:19<00:00, 34.75s/it] 
           Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:   0%|                                                                                                                                    | 0/1 [00:00<?, ?it/s]

`