jeffaudi commited on
Commit
f9f8d06
·
verified ·
1 Parent(s): 4139f3e

Add rotated_faster_rcnn_dota_le90_1x (1e3dabeb); drop DOTA Faster R-CNN 3x zoo slug

Browse files
rotated_faster_rcnn_r50_fpn_dota_le90_1x-1e3dabeb.json ADDED
@@ -0,0 +1,352 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_type": "rotated_faster_rcnn",
3
+ "experiment_timestamp": "20260907-124458",
4
+ "source_recipe": "configs/rotated_faster_rcnn/dota_le90_1x.json",
5
+ "source_code_root": "/home/jeffaudi/oriented-det",
6
+ "git_commit": "b242d27292e1bede8c98260e9105dd59e34af383",
7
+ "git_describe": "v0.2.0-4-gb242d27-dirty",
8
+ "git_dirty": true,
9
+ "git_branch": "main",
10
+ "git_commit_date": "2026-09-03T03:08:27+00:00",
11
+ "package_version": "0.1.0",
12
+ "enable_albumentation": false,
13
+ "enable_profiling": false,
14
+ "dataset": {
15
+ "data_root": "/path/to/data/DOTA-v1.0-tiled",
16
+ "format": "dota",
17
+ "train_tiles_dir": "/path/to/data/DOTA-v1.0-tiled/train",
18
+ "val_tiles_dir": "/path/to/data/DOTA-v1.0-tiled/val",
19
+ "train_tiles_dirs": [
20
+ "/path/to/data/DOTA-v1.0-tiled/train",
21
+ "/path/to/data/DOTA-v1.0-tiled/val"
22
+ ],
23
+ "val_tiles_dirs": [
24
+ "/path/to/data/DOTA-v1.0-tiled/val"
25
+ ],
26
+ "same_folder": false,
27
+ "overlap": 200,
28
+ "annotations_file": null,
29
+ "split_file": null,
30
+ "val_split_id": 0,
31
+ "train_includes_val": false,
32
+ "ignore_labels": [
33
+ "container-crane",
34
+ "airport",
35
+ "helipad"
36
+ ],
37
+ "lookalike_labels": null,
38
+ "map_labels": null,
39
+ "difficult_tags": null,
40
+ "difficult_strategy": "keep",
41
+ "filter_empty_gt": true,
42
+ "max_train_samples": null,
43
+ "max_val_samples": null,
44
+ "max_samples_shuffle_seed": null,
45
+ "allowed_classes": null,
46
+ "train_split": null,
47
+ "val_split": null,
48
+ "tile_metrics_csv": null,
49
+ "hard_tile_metric_column": "f1",
50
+ "hard_tile_threshold": 0.8,
51
+ "hard_tile_oversample_factor": 2.0,
52
+ "class_tile_oversample_classes": null,
53
+ "class_tile_oversample_factor": 1.0,
54
+ "class_tile_oversample_min_count": 1,
55
+ "drop_easy_empty_tiles": false
56
+ },
57
+ "augmentation": {
58
+ "brightness_limit": 0.2,
59
+ "contrast_limit": 0.2,
60
+ "gamma_limit": [
61
+ 80,
62
+ 120
63
+ ],
64
+ "gauss_noise_var_limit": [
65
+ 10.0,
66
+ 50.0
67
+ ],
68
+ "blur_limit": 3,
69
+ "clahe_clip_limit": 4.0,
70
+ "p_brightness_contrast": 0.5,
71
+ "p_gamma": 0.3,
72
+ "p_noise": 0.2,
73
+ "p_blur": 0.2,
74
+ "p_clahe": 0.3
75
+ },
76
+ "data_loader": {
77
+ "batch_size": 2,
78
+ "num_workers": 4,
79
+ "shuffle": true,
80
+ "pin_memory": true
81
+ },
82
+ "model": {
83
+ "backbone": "resnet50",
84
+ "pretrained_backbone": true,
85
+ "trainable_layers": 5,
86
+ "frozen_stages": 1,
87
+ "fpn_returned_layers": [
88
+ 1,
89
+ 2,
90
+ 3,
91
+ 4
92
+ ],
93
+ "fpn_strides": [
94
+ 4,
95
+ 8,
96
+ 16,
97
+ 32,
98
+ 64
99
+ ],
100
+ "fpn_extra_level": false,
101
+ "anchor_scales": [
102
+ 8
103
+ ],
104
+ "anchor_ratios": [
105
+ 0.5,
106
+ 1.0,
107
+ 2.0
108
+ ],
109
+ "anchor_angles": null,
110
+ "anchor_octave_base_scale": null,
111
+ "anchor_scales_per_octave": null,
112
+ "target_means": [
113
+ 0,
114
+ 0,
115
+ 0,
116
+ 0,
117
+ 0
118
+ ],
119
+ "target_stds": [
120
+ 0.1,
121
+ 0.1,
122
+ 0.2,
123
+ 0.2,
124
+ 0.1
125
+ ],
126
+ "roi_loss_type": "cross_entropy",
127
+ "roi_focal_alpha": 1,
128
+ "roi_focal_gamma": 2,
129
+ "roi_norm_factor": 2,
130
+ "roi_edge_swap": true,
131
+ "roi_proj_xy": true,
132
+ "roi_box_reg_angle_weight": 1.0,
133
+ "roi_box_reg_angle_schedule_epochs": null,
134
+ "roi_box_reg_angle_schedule_values": null,
135
+ "roi_box_reg_aux_weight": 0.1,
136
+ "roi_box_reg_aux_schedule_epochs": null,
137
+ "roi_box_reg_aux_schedule_values": null,
138
+ "roi_batch_size_per_image": 512,
139
+ "roi_positive_iou_threshold": 0.5,
140
+ "roi_negative_iou_threshold": 0.5,
141
+ "roi_match_low_quality": false,
142
+ "roi_min_pos_iou": 0.5,
143
+ "roi_box_reg_aux_loss_type": "smooth_l1",
144
+ "roi_box_reg_kfiou_fun": null,
145
+ "roi_box_reg_probiou_mode": "l1",
146
+ "roi_box_reg_main_loss_type": "probiou",
147
+ "roi_box_reg_norm": "positives_only",
148
+ "retinanet_stacked_convs": 4,
149
+ "box_reg_loss_type": "smooth_l1",
150
+ "box_reg_weight": 1.0,
151
+ "fcos_stacked_convs": 4,
152
+ "fcos_center_sampling": true,
153
+ "fcos_center_sample_radius": 1.5,
154
+ "fcos_norm_on_bbox": true,
155
+ "fcos_centerness_on_reg": true,
156
+ "fcos_scale_angle": true,
157
+ "fcos_regress_ranges": null,
158
+ "fcos_angle_weight": 1.0,
159
+ "fcos_nms_pre": 2000,
160
+ "aux_loss_type": null,
161
+ "aux_loss_weight": 0.0,
162
+ "aux_angle_weight": 1.0,
163
+ "aux_angle_lambda": 1.0,
164
+ "rpn_min_size": 0,
165
+ "rpn_pre_nms_top_n": 2000,
166
+ "rpn_post_nms_top_n": 2000,
167
+ "rpn_nms_threshold": 0.7,
168
+ "rpn_batch_size_per_image": 256,
169
+ "rpn_positive_iou_threshold": 0.7,
170
+ "rpn_negative_iou_threshold": 0.3,
171
+ "rpn_min_pos_iou": 0.3,
172
+ "rpn_match_low_quality": true,
173
+ "use_hbb_for_matching": true,
174
+ "roi_use_hbb_for_matching": false,
175
+ "add_gt_as_proposals": true,
176
+ "final_nms_iou_threshold": 0.1,
177
+ "nms_class_agnostic": false,
178
+ "final_nms_use_cpu": true,
179
+ "final_nms_iou_schedule_epochs": null,
180
+ "final_nms_iou_schedule_values": null,
181
+ "max_detections_per_image": 2000,
182
+ "inference_pre_nms_score_threshold": 0.05,
183
+ "roi_inference_top_class_only": true
184
+ },
185
+ "training": {
186
+ "lr_scheduler_type": null,
187
+ "lr_scheduler_step_epochs": 8,
188
+ "lr_scheduler_milestones": [
189
+ 8,
190
+ 11
191
+ ],
192
+ "lr_scheduler_gamma": 0.1,
193
+ "lr_scheduler_plateau_metric": "total_loss",
194
+ "lr_scheduler_plateau_factor": 0.1,
195
+ "lr_scheduler_plateau_patience": 5,
196
+ "lr_scheduler_one_cycle_pct_start": 0.3,
197
+ "lr_scheduler_one_cycle_div_factor": 25.0,
198
+ "lr_scheduler_one_cycle_final_div_factor": 10000.0,
199
+ "lr_scheduler_cosine_eta_min": 1e-06,
200
+ "lr_scheduler_cosine_epochs": null,
201
+ "lr_scheduler_cosine_tail_epochs": 0,
202
+ "lr_scheduler_cosine_tail_lr": null,
203
+ "lr_warmup_steps": 500,
204
+ "lr_scaling_with_accumulation": "linear",
205
+ "lr_scale_with_world_size": false,
206
+ "use_lr_param_groups": false,
207
+ "lr_mult_backbone": 0.5,
208
+ "lr_mult_rpn": 0.5,
209
+ "lr_mult_roi": 2.0,
210
+ "lr_mult_other": 1.0,
211
+ "lr_mult_head": null,
212
+ "num_epochs": 12,
213
+ "learning_rate": 0.005,
214
+ "momentum": 0.9,
215
+ "weight_decay": 0.0001,
216
+ "use_amp": false,
217
+ "gradient_accumulation_steps": 1,
218
+ "max_grad_norm": 35.0,
219
+ "loss_weights": null,
220
+ "freeze_backbone_epochs": 0,
221
+ "freeze_rpn_epochs": 0,
222
+ "early_stop_patience": null,
223
+ "early_stop_metric": "mAP",
224
+ "early_stop_min_delta": 0.0,
225
+ "early_stop_higher_is_better": null
226
+ },
227
+ "evaluation": {
228
+ "score_threshold": 0.05,
229
+ "per_class_score_threshold": null,
230
+ "iou_threshold": 0.5,
231
+ "preds_score_threshold": null,
232
+ "final_nms_iou_threshold": 0.1,
233
+ "compute_map_final": false,
234
+ "compute_map_every_n_epochs": 4,
235
+ "extended_gt_metrics": true,
236
+ "use_exact_rotated_iou": true,
237
+ "use_exact_rotated_iou_for_final_map": null
238
+ },
239
+ "production": {
240
+ "score_threshold": 0.6,
241
+ "per_class_score_threshold": null,
242
+ "final_nms_iou_threshold": 0.1,
243
+ "final_nms_use_cpu": true,
244
+ "inference_pre_nms_score_threshold": 0.05,
245
+ "max_detections_per_image": 2000,
246
+ "nms_class_agnostic": null,
247
+ "roi_inference_top_class_only": true,
248
+ "rpn_pre_nms_top_n": 6000,
249
+ "rpn_post_nms_top_n": 6000,
250
+ "rpn_nms_threshold": null,
251
+ "overlap_pixels": 200,
252
+ "ignore_margin_pixels": 0,
253
+ "use_first_image_canvas": false,
254
+ "stick_to_model_canvas": true
255
+ },
256
+ "checkpoint": {
257
+ "load_from_checkpoint": null,
258
+ "load_from_experiment": null,
259
+ "discover_previous_run": false,
260
+ "resume_from_checkpoint_epoch": false,
261
+ "load_optimizer_state": false,
262
+ "load_scheduler_state": false,
263
+ "load_include_prefixes": null,
264
+ "load_exclude_prefixes": null,
265
+ "start_epoch": 0,
266
+ "best_metric": "mAP",
267
+ "higher_is_better": true
268
+ },
269
+ "loss": {
270
+ "loss_type": "cross_entropy",
271
+ "class_weight_method": "sqrt",
272
+ "class_weight_beta": 0.9999,
273
+ "class_weight_schedule_type": null,
274
+ "class_weight_schedule_start_epoch": 0,
275
+ "class_weight_schedule_end_epoch": 0,
276
+ "class_weight_schedule_power": 1.0,
277
+ "background_weight": null,
278
+ "focal_alpha": 1.0,
279
+ "focal_gamma": 2.0,
280
+ "class_weight_overrides": null,
281
+ "label_smoothing": 0.0,
282
+ "roi_grouped_ce_enabled": false,
283
+ "roi_grouped_ce_groups": null,
284
+ "roi_grouped_ce_schedule_type": null,
285
+ "roi_grouped_ce_schedule_start_epoch": 0,
286
+ "roi_grouped_ce_schedule_end_epoch": 8,
287
+ "roi_grouped_ce_schedule_power": 1.0
288
+ },
289
+ "tensorboard": {
290
+ "log_debug_anchors_proposals": true,
291
+ "vis_score_threshold": 0.5
292
+ },
293
+ "preprocessing": {
294
+ "resize_mode": "fixed",
295
+ "target_size": [
296
+ 1024,
297
+ 1024
298
+ ],
299
+ "normalize_mean": [
300
+ 0.307941,
301
+ 0.311986,
302
+ 0.297761
303
+ ],
304
+ "normalize_std": [
305
+ 0.192315,
306
+ 0.187769,
307
+ 0.181551
308
+ ],
309
+ "pad_size_divisor": 32,
310
+ "enable_flip_horizontal": true,
311
+ "enable_flip_vertical": true,
312
+ "enable_flip_diagonal": true,
313
+ "enable_random_rotate": false,
314
+ "random_rotate_prob": 0.5,
315
+ "random_rotate_angle_range": 180.0
316
+ },
317
+ "class_map": {
318
+ "baseball-diamond": 1,
319
+ "basketball-court": 2,
320
+ "bridge": 3,
321
+ "ground-track-field": 4,
322
+ "harbor": 5,
323
+ "helicopter": 6,
324
+ "large-vehicle": 7,
325
+ "plane": 8,
326
+ "roundabout": 9,
327
+ "ship": 10,
328
+ "small-vehicle": 11,
329
+ "soccer-ball-field": 12,
330
+ "storage-tank": 13,
331
+ "swimming-pool": 14,
332
+ "tennis-court": 15
333
+ },
334
+ "class_names": [
335
+ "baseball-diamond",
336
+ "basketball-court",
337
+ "bridge",
338
+ "ground-track-field",
339
+ "harbor",
340
+ "helicopter",
341
+ "large-vehicle",
342
+ "plane",
343
+ "roundabout",
344
+ "ship",
345
+ "small-vehicle",
346
+ "soccer-ball-field",
347
+ "storage-tank",
348
+ "swimming-pool",
349
+ "tennis-court"
350
+ ],
351
+ "num_classes": 15
352
+ }
rotated_faster_rcnn_r50_fpn_dota_le90_1x-1e3dabeb.log ADDED
@@ -0,0 +1,713 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Loading configuration from: configs/rotated_faster_rcnn/dota_le90_1x.json
2
+ Training log file: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458/train.log
3
+ ================================================================================
4
+ ROTATED_FASTER_RCNN Training
5
+ ================================================================================
6
+ Source git: v0.2.0-4-gb242d27-dirty (dirty working tree)
7
+ Source branch: main
8
+ Source commit date: 2026-09-03T03:08:27+00:00
9
+ Package: oriented-det 0.1.0
10
+ PyTorch Version: 2.3.0+cu121
11
+ CUDA Available: True
12
+ MPS (Apple Silicon) Available: False
13
+ CUDA Device: NVIDIA L4
14
+ Mixed Precision (AMP): False
15
+
16
+ Checking dataset directories...
17
+ Train tiles (2 root(s)):
18
+ /path/to/data/DOTA-v1.0-tiled/train
19
+ Images exist: True
20
+ Labels exist: True
21
+ /path/to/data/DOTA-v1.0-tiled/val
22
+ Images exist: True
23
+ Labels exist: True
24
+
25
+ Val tiles (1 root(s)):
26
+ /path/to/data/DOTA-v1.0-tiled/val
27
+ Images exist: True
28
+ Labels exist: True
29
+
30
+
31
+ Loading datasets...
32
+ DOTA filter_empty_gt (MMRotate-style):
33
+ train: filter_empty_gt dropped 19464 / 33155 tiles (13691 kept)
34
+ val: filter_empty_gt dropped 4548 / 7669 tiles (3121 kept)
35
+
36
+ Found 15 classes:
37
+ 0: baseball-diamond
38
+ 1: basketball-court
39
+ 2: bridge
40
+ 3: ground-track-field
41
+ 4: harbor
42
+ 5: helicopter
43
+ 6: large-vehicle
44
+ 7: plane
45
+ 8: roundabout
46
+ 9: ship
47
+ 10: small-vehicle
48
+ 11: soccer-ball-field
49
+ 12: storage-tank
50
+ 13: swimming-pool
51
+ 14: tennis-court
52
+
53
+ Number of classes (foreground): 15
54
+ Class mapping: {'baseball-diamond': 1, 'basketball-court': 2, 'bridge': 3, 'ground-track-field': 4, 'harbor': 5, 'helicopter': 6, 'large-vehicle': 7, 'plane': 8, 'roundabout': 9, 'ship': 10, 'small-vehicle': 11, 'soccer-ball-field': 12, 'storage-tank': 13, 'swimming-pool': 14, 'tennis-court': 15}
55
+
56
+ Analyzing class distribution in training set...
57
+
58
+ ================================================================================
59
+ Class Distribution Analysis - Training Set
60
+ ================================================================================
61
+ Total objects: 264,176
62
+ Total classes: 15
63
+
64
+ Class Name Count Percentage
65
+ --------------------------------------------------------------------------------
66
+ ship 82,131 31.09%
67
+ small-vehicle 63,156 23.91%
68
+ large-vehicle 45,972 17.40%
69
+ plane 20,023 7.58%
70
+ harbor 17,028 6.45%
71
+ storage-tank 14,971 5.67%
72
+ tennis-court 6,149 2.33%
73
+ swimming-pool 4,273 1.62%
74
+ bridge 4,122 1.56%
75
+ helicopter 1,286 0.49%
76
+ basketball-court 1,269 0.48%
77
+ baseball-diamond 1,120 0.42%
78
+ roundabout 1,017 0.38%
79
+ soccer-ball-field 874 0.33%
80
+ ground-track-field 785 0.30%
81
+ --------------------------------------------------------------------------------
82
+
83
+ Imbalance Ratio (max/min): 104.63x
84
+ Most frequent class: ship (82,131 instances)
85
+ Least frequent class: ground-track-field (785 instances)
86
+
87
+ Class weighting disabled (loss_type=cross_entropy)
88
+
89
+ Loss configuration: cross_entropy
90
+
91
+
92
+ Training configuration created:
93
+ Model type: rotated_faster_rcnn
94
+ Experiment timestamp: 20260907-124458
95
+ Number of classes: 15
96
+ Batch size: 2
97
+ Learning rate: 0.005
98
+ Epochs: 12
99
+
100
+ Creating collate functions...
101
+ - Training: no Albumentations augmentation (flips: horizontal, vertical, diagonal; rotate off)
102
+ - Validation: no augmentation
103
+
104
+ Creating data loaders...
105
+ Training samples: 13691
106
+ Validation samples: 3121
107
+ Batches per epoch: 6846
108
+
109
+ Creating model...
110
+ Using device: cuda
111
+
112
+ Complete ROTATED_FASTER_RCNN model created:
113
+ Backbone: resnet50
114
+ Number of classes: 15 (foreground)
115
+ Pretrained backbone: True
116
+ Trainable backbone layers: 3 (last 3 stages) (frozen_stages=1)
117
+ RPN anchor reference angles (fixed horizontal priors, not configurable): ['0.0°']
118
+ Anchor scales: [8]
119
+ Anchor ratios: [0.5, 1.0, 2.0]
120
+ FPN strides: [4, 8, 16, 32, 64]
121
+ FPN levels: 5 (P2, P3, P4, P5, P6)
122
+ ROI Loss Type: cross_entropy
123
+
124
+ Total parameters: 41,310,436
125
+ Trainable parameters: 41,088,036
126
+
127
+ Configuration saved to: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458/config.json
128
+
129
+ Learning rate warmup enabled: 500 optimizer steps
130
+ Warmup: 0 → 0.005 over 500 steps
131
+ After warmup: MultiStepLR at epochs [8, 11], gamma=0.1
132
+
133
+ Experiment directory: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458
134
+ TensorBoard logging enabled. Logs saved to: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458
135
+ View logs with: tensorboard --logdir /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn
136
+ View this experiment with: tensorboard --logdir /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458
137
+
138
+ Training configuration:
139
+ Epochs: 12
140
+ Learning rate: 0.005000
141
+ Batch size per GPU: 2
142
+ Gradient accumulation: 1
143
+ Best checkpoint metric: mAP (higher_is_better=True)
144
+ Effective batch size: 2
145
+ Mixed precision: False
146
+ Eval (mAP / val matching): score_threshold=0.05, iou_threshold=0.5 (production.score_threshold overrides evaluation when set)
147
+ Eval IoU backend (mAP / GT cover): exact CPU polygon
148
+ Eval IoU backend (final mAP): exact CPU polygon
149
+
150
+ Starting training from scratch (no checkpoint loaded)
151
+
152
+ Starting epoch: 0
153
+
154
+ Profiling disabled
155
+
156
+ ================================================================================
157
+ Starting training...
158
+ ================================================================================
159
+ TensorBoard: tensorboard --logdir /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn
160
+ ================================================================================
161
+
162
+ Training started at: 2026-09-07T12:45:36+00:00
163
+
164
+ Epoch 1/12
165
+ --------------------------------------------------
166
+ /home/jeffaudi/.pyenv/versions/3.12.12/envs/oriented-det/lib/python3.12/site-packages/torch/nn/modules/conv.py:456: UserWarning: Plan failed with a cudnnException: CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnFinalize Descriptor Failed cudnn_status: CUDNN_STATUS_NOT_SUPPORTED (Triggered internally at ../aten/src/ATen/native/cudnn/Conv_v8.cpp:919.)
167
+ return F.conv2d(input, weight, bias, self.stride,
168
+ Epoch 1/12 complete: 6846/6846 batches, loss: 0.7335
169
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
170
+ ROI hints: pos=96.2, bg=593.1, ignore=0.0, sampled_fg=61.5, sampled_bg=433.4, matched_gt=15.2, match_rate=84.22%
171
+ Validation complete: 1561 batches
172
+ Validation Metrics:
173
+ --------------------------------------------------
174
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
175
+ Avg Detections per Image (score≥0.0500): 20.44
176
+ Avg Detections per Image (score≥0.5): 11.17
177
+ Max detection score: 0.999
178
+ Mean detection score: 0.539
179
+ Time per Step: 0.2629
180
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
181
+ Ground Truth objects: 57768
182
+ mAP: (skipped)
183
+ Ground Truth Classes: 15 classes
184
+ Predicted Classes: 15 classes
185
+ Timing: 56m 22s this epoch (avg 56m 22s) | ETA ~10h 20m for 11 epoch(s) left, mAP every 4 epoch(s).
186
+
187
+ Epoch 2/12
188
+ --------------------------------------------------
189
+ Epoch 2/12 complete: 6846/6846 batches, loss: 0.6483
190
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
191
+ ROI hints: pos=101.4, bg=544.4, ignore=0.0, sampled_fg=64.9, sampled_bg=416.5, matched_gt=16.1, match_rate=88.48%
192
+ Validation complete: 1561 batches
193
+ Validation Metrics:
194
+ --------------------------------------------------
195
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
196
+ Avg Detections per Image (score≥0.0500): 21.94 ↑1.50
197
+ Avg Detections per Image (score≥0.5): 12.78 ↑1.61
198
+ Max detection score: 1.000
199
+ Mean detection score: 0.614
200
+ Time per Step: 0.2651 ↓0.0022
201
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
202
+ Ground Truth objects: 57768
203
+ mAP: (skipped)
204
+ Ground Truth Classes: 15 classes
205
+ Predicted Classes: 15 classes
206
+ Timing: 54m 10s this epoch (avg 55m 16s) | ETA ~9h 12m for 10 epoch(s) left, mAP every 4 epoch(s).
207
+
208
+ Epoch 3/12
209
+ --------------------------------------------------
210
+ Epoch 3/12 complete: 6846/6846 batches, loss: 0.6018
211
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
212
+ ROI hints: pos=102.6, bg=519.4, ignore=0.0, sampled_fg=66.3, sampled_bg=406.5, matched_gt=16.5, match_rate=90.31%
213
+ Validation complete: 1561 batches
214
+ Validation Metrics:
215
+ --------------------------------------------------
216
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
217
+ Avg Detections per Image (score≥0.0500): 22.91 ↑0.97
218
+ Avg Detections per Image (score≥0.5): 13.03 ↑0.24
219
+ Max detection score: 1.000
220
+ Mean detection score: 0.547
221
+ Time per Step: 0.2649 ↑0.0002
222
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
223
+ Ground Truth objects: 57768
224
+ mAP: (skipped)
225
+ Ground Truth Classes: 15 classes
226
+ Predicted Classes: 15 classes
227
+ Timing: 53m 27s this epoch (avg 54m 40s) | ETA ~8h 11m for 9 epoch(s) left, mAP every 4 epoch(s).
228
+
229
+ Epoch 4/12
230
+ --------------------------------------------------
231
+ Epoch 4/12 complete: 6846/6846 batches, loss: 0.5708
232
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
233
+ ROI hints: pos=102.8, bg=504.9, ignore=0.0, sampled_fg=67.1, sampled_bg=399.7, matched_gt=16.7, match_rate=91.46%
234
+
235
+ Computing mAP (periodic evaluation: every 4 epoch(s))...
236
+ Validation complete: 1561 batches
237
+
238
+ Computing mAP (this may take a while)...
239
+ Eval filters: score≥0.0500, IoU≥0.50
240
+ Images: 3,121
241
+ Total detections (post score filter): 93,894 (30.1 per image)
242
+ Total ground truths: 57,768 (18.5 per image)
243
+ Warning: Large number of detections may slow down mAP computation
244
+ Consider increasing evaluation.score_threshold (current: 0.05) for faster mAP matching
245
+ mAP: exact rotated IoU on CPU (backend='shapely'; GPU sampling IoU disabled)
246
+ Computing AP for baseball-diamond: 402 dets, 364 GTs (146,328 IoU calculations)
247
+ Computing AP for basketball-court: 728 dets, 278 GTs (202,384 IoU calculations)
248
+ Computing AP for bridge: 3,691 dets, 666 GTs (2,458,206 IoU calculations)
249
+ Computing AP for ground-track-field: 548 dets, 216 GTs (118,368 IoU calculations)
250
+ WARNING: harbor has 22,164,786 IoU calculations (5,157 dets × 4,298 GTs). This will be slow!
251
+ Computing AP for harbor: 5,157 dets, 4,298 GTs (22,164,786 IoU calculations)
252
+ Using chunked batch IoU computation (CPU exact (shapely)) for harbor (22,164,786 calculations)
253
+ Processing 5,157 detections in chunks of 1,163
254
+ WARNING: large-vehicle has 204,068,172 IoU calculations (21,714 dets × 9,398 GTs). This will be slow!
255
+ Computing AP for large-vehicle: 21,714 dets, 9,398 GTs (204,068,172 IoU calculations)
256
+ Using chunked batch IoU computation (CPU exact (shapely)) for large-vehicle (204,068,172 calculations)
257
+ Processing 21,714 detections in chunks of 532
258
+ WARNING: plane has 24,851,943 IoU calculations (5,253 dets × 4,731 GTs). This will be slow!
259
+ Computing AP for plane: 5,253 dets, 4,731 GTs (24,851,943 IoU calculations)
260
+ Using chunked batch IoU computation (CPU exact (shapely)) for plane (24,851,943 calculations)
261
+ Processing 5,253 detections in chunks of 1,056
262
+ Computing AP for roundabout: 515 dets, 256 GTs (131,840 IoU calculations)
263
+ WARNING: ship has 422,686,404 IoU calculations (22,806 dets × 18,534 GTs). This will be slow!
264
+ Computing AP for ship: 22,806 dets, 18,534 GTs (422,686,404 IoU calculations)
265
+ Using chunked batch IoU computation (CPU exact (shapely)) for ship (422,686,404 calculations)
266
+ Processing 22,806 detections in chunks of 269
267
+ WARNING: small-vehicle has 265,288,163 IoU calculations (23,359 dets × 11,357 GTs). This will be slow!
268
+ Computing AP for small-vehicle: 23,359 dets, 11,357 GTs (265,288,163 IoU calculations)
269
+ Using chunked batch IoU computation (CPU exact (shapely)) for small-vehicle (265,288,163 calculations)
270
+ Processing 23,359 detections in chunks of 440
271
+ Computing AP for soccer-ball-field: 452 dets, 260 GTs (117,520 IoU calculations)
272
+ WARNING: storage-tank has 30,014,946 IoU calculations (5,966 dets × 5,031 GTs). This will be slow!
273
+ Computing AP for storage-tank: 5,966 dets, 5,031 GTs (30,014,946 IoU calculations)
274
+ Using chunked batch IoU computation (CPU exact (shapely)) for storage-tank (30,014,946 calculations)
275
+ Processing 5,966 detections in chunks of 993
276
+ Computing AP for swimming-pool: 1,173 dets, 693 GTs (812,889 IoU calculations)
277
+ Computing AP for tennis-court: 1,924 dets, 1,529 GTs (2,941,796 IoU calculations)
278
+ mAP computation completed in 20m 36s. mAP: 0.7178
279
+ Validation Metrics:
280
+ --------------------------------------------------
281
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
282
+ Avg Detections per Image (score≥0.0500): 24.70 ↑1.79
283
+ Avg Detections per Image (score≥0.5): 13.91 ↑0.88
284
+ Max detection score: 1.000
285
+ Mean detection score: 0.567
286
+ Time per Step: 0.2666 ↓0.0018
287
+ Accuracy: 0.5142 (51.42%)
288
+ Correct Predictions: 48278/93894 (matched detections)
289
+ Ground Truth objects: 57768
290
+ GT covered pre-eval-threshold: 48301/57768
291
+ GT covered post-eval-threshold: 48301/57768
292
+ GT lost by eval-threshold filtering: 0
293
+ GT cover rate pre-eval-threshold: 83.61%
294
+ GT cover rate post-eval-threshold: 83.61%
295
+ GT IoU vs raw dets (eval IoU threshold=0.50; per-GT max IoU over all dets / over same-class dets):
296
+ mean best IoU (any class): 0.6478, median: 0.7248
297
+ mean best IoU (correct class): 0.6412, median: 0.7232
298
+ per-class mean best IoU (raw detections):
299
+ | class | gts | mean_any | mean_same | med_same |
300
+ |--------------------|-----:|----------:|-----------:|----------:|
301
+ | baseball-diamond | 364 | 0.6378 | 0.6348 | 0.7241 |
302
+ | basketball-court | 278 | 0.7563 | 0.7513 | 0.7913 |
303
+ | bridge | 665 | 0.5437 | 0.5380 | 0.5998 |
304
+ | ground-track-field | 216 | 0.6888 | 0.6703 | 0.7347 |
305
+ | harbor | 4298 | 0.5651 | 0.5570 | 0.6246 |
306
+ | helicopter | 157 | 0.6385 | 0.5113 | 0.6695 |
307
+ | large-vehicle | 9398 | 0.6631 | 0.6445 | 0.7133 |
308
+ | plane | 4731 | 0.7601 | 0.7598 | 0.8112 |
309
+ | roundabout | 256 | 0.6245 | 0.6145 | 0.7274 |
310
+ | ship | 18534 | 0.6825 | 0.6814 | 0.7302 |
311
+ | small-vehicle | 11357 | 0.5891 | 0.5818 | 0.6966 |
312
+ | soccer-ball-field | 260 | 0.6471 | 0.6072 | 0.6941 |
313
+ | storage-tank | 5031 | 0.5650 | 0.5644 | 0.7515 |
314
+ | swimming-pool | 693 | 0.5756 | 0.5746 | 0.6383 |
315
+ | tennis-court | 1529 | 0.7856 | 0.7749 | 0.8225 |
316
+ | global | 57767 | 0.6478 | 0.6412 | 0.7232 |
317
+ GTs with IoU≥thresh but no same-class hit (wrong-class / misaligned): 462
318
+ GTs with no detection above IoU thresh (missed / poor loc): 8996
319
+ GTs with 0% best IoU vs any detection (no spatial overlap): 3700 (6.41% of GTs)
320
+ histogram best IoU (any class) [0,0.25)/[0.25,0.5)/[0.5,0.75)/[0.75,1]: 6152/2844/24966/23805
321
+ histogram best IoU (correct class) [0,0.25)/[0.25,0.5)/[0.5,0.75)/[0.75,1]: 6658/2800/24763/23546
322
+ Class-agnostic duplicate rate (post score thresh; IoU≥0.50 vs a higher-score box): micro=2.17% (2039/93894 boxes), macro mean over images with detections=2.91% (3120 images)
323
+ mAP: 0.7178 (71.78%)
324
+ Per-Class AP:
325
+ baseball-diamond: 0.7769 (77.69%)
326
+ basketball-court: 0.8673 (86.73%)
327
+ bridge: 0.4681 (46.81%)
328
+ ground-track-field: 0.7637 (76.37%)
329
+ harbor: 0.5798 (57.98%)
330
+ helicopter: 0.6155 (61.55%)
331
+ large-vehicle: 0.7165 (71.65%)
332
+ plane: 0.9030 (90.30%)
333
+ roundabout: 0.6696 (66.96%)
334
+ ship: 0.8639 (86.39%)
335
+ small-vehicle: 0.6574 (65.74%)
336
+ soccer-ball-field: 0.6587 (65.87%)
337
+ storage-tank: 0.6953 (69.53%)
338
+ swimming-pool: 0.6240 (62.40%)
339
+ tennis-court: 0.9078 (90.78%)
340
+ Ground Truth Classes: 15 classes
341
+ Predicted Classes: 15 classes
342
+ Timing: 1h 15m this epoch (avg 59m 53s) | ETA ~7h 59m for 8 epoch(s) left, mAP every 4 epoch(s).
343
+
344
+ Epoch 5/12
345
+ --------------------------------------------------
346
+ Epoch 5/12 complete: 6846/6846 batches, loss: 0.5490
347
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
348
+ ROI hints: pos=102.9, bg=494.7, ignore=0.0, sampled_fg=67.8, sampled_bg=394.5, matched_gt=16.9, match_rate=92.22%
349
+ Validation complete: 1561 batches
350
+ Validation Metrics:
351
+ --------------------------------------------------
352
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
353
+ Avg Detections per Image (score≥0.0500): 24.59 ↓0.11
354
+ Avg Detections per Image (score≥0.5): 14.10 ↑0.20
355
+ Max detection score: 1.000
356
+ Mean detection score: 0.614
357
+ Time per Step: 0.2655 ↑0.0011
358
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
359
+ Ground Truth objects: 57768
360
+ mAP: (skipped)
361
+ Ground Truth Classes: 15 classes
362
+ Predicted Classes: 15 classes
363
+ Timing: 52m 50s this epoch (avg 58m 28s) | ETA ~6h 49m for 7 epoch(s) left, mAP every 4 epoch(s).
364
+
365
+ Epoch 6/12
366
+ --------------------------------------------------
367
+ Epoch 6/12 complete: 6846/6846 batches, loss: 0.5313
368
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
369
+ ROI hints: pos=102.7, bg=486.1, ignore=0.0, sampled_fg=68.2, sampled_bg=390.4, matched_gt=17.0, match_rate=92.75%
370
+ Validation complete: 1561 batches
371
+ Validation Metrics:
372
+ --------------------------------------------------
373
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
374
+ Avg Detections per Image (score≥0.0500): 25.59 ↑1.00
375
+ Avg Detections per Image (score≥0.5): 14.51 ↑0.41
376
+ Max detection score: 1.000
377
+ Mean detection score: 0.565
378
+ Time per Step: 0.2653 ↑0.0002
379
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
380
+ Ground Truth objects: 57768
381
+ mAP: (skipped)
382
+ Ground Truth Classes: 15 classes
383
+ Predicted Classes: 15 classes
384
+ Timing: 52m 34s this epoch (avg 57m 29s) | ETA ~5h 44m for 6 epoch(s) left, mAP every 4 epoch(s).
385
+
386
+ Epoch 7/12
387
+ --------------------------------------------------
388
+ Epoch 7/12 complete: 6846/6846 batches, loss: 0.5173
389
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
390
+ ROI hints: pos=102.4, bg=478.8, ignore=0.0, sampled_fg=68.5, sampled_bg=386.8, matched_gt=17.1, match_rate=93.19%
391
+ Validation complete: 1561 batches
392
+ Validation Metrics:
393
+ --------------------------------------------------
394
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
395
+ Avg Detections per Image (score≥0.0500): 25.47 ↓0.12
396
+ Avg Detections per Image (score≥0.5): 14.68 ↑0.17
397
+ Max detection score: 1.000
398
+ Mean detection score: 0.640
399
+ Time per Step: 0.2643 ↑0.0010
400
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
401
+ Ground Truth objects: 57768
402
+ mAP: (skipped)
403
+ Ground Truth Classes: 15 classes
404
+ Predicted Classes: 15 classes
405
+ Timing: 52m 16s this epoch (avg 56m 44s) | ETA ~4h 43m for 5 epoch(s) left, mAP every 4 epoch(s).
406
+
407
+ Epoch 8/12
408
+ --------------------------------------------------
409
+ Epoch 8/12 complete: 6846/6846 batches, loss: 0.5052
410
+ Effective LR: ref=5.000e-03 (0=5.000e-03)
411
+ ROI hints: pos=102.2, bg=472.7, ignore=0.0, sampled_fg=68.7, sampled_bg=383.6, matched_gt=17.2, match_rate=93.53%
412
+
413
+ Computing mAP (periodic evaluation: every 4 epoch(s))...
414
+ Validation complete: 1561 batches
415
+
416
+ Computing mAP (this may take a while)...
417
+ Eval filters: score≥0.0500, IoU≥0.50
418
+ Images: 3,121
419
+ Total detections (post score filter): 65,521 (21.0 per image)
420
+ Total ground truths: 57,768 (18.5 per image)
421
+ Warning: Large number of detections may slow down mAP computation
422
+ Consider increasing evaluation.score_threshold (current: 0.05) for faster mAP matching
423
+ mAP: exact rotated IoU on CPU (backend='shapely'; GPU sampling IoU disabled)
424
+ Computing AP for baseball-diamond: 526 dets, 364 GTs (191,464 IoU calculations)
425
+ Computing AP for bridge: 1,560 dets, 666 GTs (1,038,960 IoU calculations)
426
+ WARNING: harbor has 26,402,614 IoU calculations (6,143 dets × 4,298 GTs). This will be slow!
427
+ Computing AP for harbor: 6,143 dets, 4,298 GTs (26,402,614 IoU calculations)
428
+ Using chunked batch IoU computation (CPU exact (shapely)) for harbor (26,402,614 calculations)
429
+ Processing 6,143 detections in chunks of 1,163
430
+ WARNING: large-vehicle has 95,652,844 IoU calculations (10,178 dets × 9,398 GTs). This will be slow!
431
+ Computing AP for large-vehicle: 10,178 dets, 9,398 GTs (95,652,844 IoU calculations)
432
+ Using chunked batch IoU computation (CPU exact (shapely)) for large-vehicle (95,652,844 calculations)
433
+ Processing 10,178 detections in chunks of 532
434
+ WARNING: plane has 24,818,826 IoU calculations (5,246 dets × 4,731 GTs). This will be slow!
435
+ Computing AP for plane: 5,246 dets, 4,731 GTs (24,818,826 IoU calculations)
436
+ Using chunked batch IoU computation (CPU exact (shapely)) for plane (24,818,826 calculations)
437
+ Processing 5,246 detections in chunks of 1,056
438
+ WARNING: ship has 364,118,964 IoU calculations (19,646 dets × 18,534 GTs). This will be slow!
439
+ Computing AP for ship: 19,646 dets, 18,534 GTs (364,118,964 IoU calculations)
440
+ Using chunked batch IoU computation (CPU exact (shapely)) for ship (364,118,964 calculations)
441
+ Processing 19,646 detections in chunks of 269
442
+ WARNING: small-vehicle has 156,147,393 IoU calculations (13,749 dets × 11,357 GTs). This will be slow!
443
+ Computing AP for small-vehicle: 13,749 dets, 11,357 GTs (156,147,393 IoU calculations)
444
+ Using chunked batch IoU computation (CPU exact (shapely)) for small-vehicle (156,147,393 calculations)
445
+ Processing 13,749 detections in chunks of 440
446
+ WARNING: storage-tank has 21,683,610 IoU calculations (4,310 dets × 5,031 GTs). This will be slow!
447
+ Computing AP for storage-tank: 4,310 dets, 5,031 GTs (21,683,610 IoU calculations)
448
+ Using chunked batch IoU computation (CPU exact (shapely)) for storage-tank (21,683,610 calculations)
449
+ Processing 4,310 detections in chunks of 993
450
+ Computing AP for swimming-pool: 1,194 dets, 693 GTs (827,442 IoU calculations)
451
+ Computing AP for tennis-court: 1,603 dets, 1,529 GTs (2,450,987 IoU calculations)
452
+ mAP computation completed in 16m 23s. mAP: 0.7285
453
+ Validation Metrics:
454
+ --------------------------------------------------
455
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
456
+ Avg Detections per Image (score≥0.0500): 24.91 ↓0.56
457
+ Avg Detections per Image (score≥0.5): 14.74 ↑0.06
458
+ Max detection score: 1.000
459
+ Mean detection score: 0.708
460
+ Time per Step: 0.2632 ↑0.0011
461
+ Accuracy: 0.7242 (72.42%)
462
+ Correct Predictions: 47452/65521 (matched detections)
463
+ Ground Truth objects: 57768
464
+ GT covered pre-eval-threshold: 47476/57768
465
+ GT covered post-eval-threshold: 47476/57768
466
+ GT lost by eval-threshold filtering: 0
467
+ GT cover rate pre-eval-threshold: 82.18%
468
+ GT cover rate post-eval-threshold: 82.18%
469
+ GT IoU vs raw dets (eval IoU threshold=0.50; per-GT max IoU over all dets / over same-class dets):
470
+ mean best IoU (any class): 0.6402, median: 0.7262
471
+ mean best IoU (correct class): 0.6352, median: 0.7250
472
+ per-class mean best IoU (raw detections):
473
+ | class | gts | mean_any | mean_same | med_same |
474
+ |--------------------|-----:|----------:|-----------:|----------:|
475
+ | baseball-diamond | 364 | 0.7162 | 0.7162 | 0.7536 |
476
+ | basketball-court | 278 | 0.7749 | 0.7718 | 0.8024 |
477
+ | bridge | 660 | 0.5592 | 0.5576 | 0.6349 |
478
+ | ground-track-field | 214 | 0.7016 | 0.6858 | 0.7904 |
479
+ | harbor | 4298 | 0.5538 | 0.5511 | 0.5972 |
480
+ | helicopter | 157 | 0.6219 | 0.3984 | 0.6552 |
481
+ | large-vehicle | 9392 | 0.6383 | 0.6309 | 0.7077 |
482
+ | plane | 4729 | 0.7838 | 0.7838 | 0.8338 |
483
+ | roundabout | 251 | 0.6729 | 0.6651 | 0.7581 |
484
+ | ship | 18534 | 0.6801 | 0.6769 | 0.7302 |
485
+ | small-vehicle | 11357 | 0.5723 | 0.5638 | 0.7104 |
486
+ | soccer-ball-field | 259 | 0.6398 | 0.6305 | 0.7408 |
487
+ | storage-tank | 5030 | 0.5425 | 0.5425 | 0.7473 |
488
+ | swimming-pool | 693 | 0.5861 | 0.5861 | 0.6599 |
489
+ | tennis-court | 1529 | 0.7978 | 0.7930 | 0.8397 |
490
+ | global | 57745 | 0.6402 | 0.6352 | 0.7250 |
491
+ GTs with IoU≥thresh but no same-class hit (wrong-class / misaligned): 341
492
+ GTs with no detection above IoU thresh (missed / poor loc): 9913
493
+ GTs with 0% best IoU vs any detection (no spatial overlap): 4897 (8.48% of GTs)
494
+ histogram best IoU (any class) [0,0.25)/[0.25,0.5)/[0.5,0.75)/[0.75,1]: 7390/2523/23416/24416
495
+ histogram best IoU (correct class) [0,0.25)/[0.25,0.5)/[0.5,0.75)/[0.75,1]: 7792/2462/23259/24232
496
+ Class-agnostic duplicate rate (post score thresh; IoU≥0.50 vs a higher-score box): micro=1.82% (1194/65521 boxes), macro mean over images with detections=2.41% (3102 images)
497
+ mAP: 0.7285 ↑0.0107 (72.85%)
498
+ Per-Class AP:
499
+ baseball-diamond: 0.8690 ↑0.0921 (86.90%)
500
+ basketball-court: 0.8985 ↑0.0312 (89.85%)
501
+ bridge: 0.5738 ↑0.1056 (57.38%)
502
+ ground-track-field: 0.8017 ↑0.0381 (80.17%)
503
+ harbor: 0.5234 ↓0.0564 (52.34%)
504
+ helicopter: 0.5455 ↓0.0700 (54.55%)
505
+ large-vehicle: 0.7718 ↑0.0552 (77.18%)
506
+ plane: 0.9057 ↑0.0027 (90.57%)
507
+ roundabout: 0.6840 ↑0.0144 (68.40%)
508
+ ship: 0.8095 ↓0.0544 (80.95%)
509
+ small-vehicle: 0.6740 ↑0.0166 (67.40%)
510
+ soccer-ball-field: 0.6868 ↑0.0282 (68.68%)
511
+ storage-tank: 0.6287 ↓0.0666 (62.87%)
512
+ swimming-pool: 0.6467 ↑0.0227 (64.67%)
513
+ tennis-court: 0.9090 ↑0.0012 (90.90%)
514
+ Ground Truth Classes: 15 classes
515
+ Predicted Classes: 15 classes
516
+ Timing: 1h 9m this epoch (avg 58m 21s) | ETA ~3h 53m for 4 epoch(s) left, mAP every 4 epoch(s).
517
+
518
+ Epoch 9/12
519
+ --------------------------------------------------
520
+ Epoch 9/12 complete: 6846/6846 batches, loss: 0.4879
521
+ Effective LR: ref=5.000e-04 (0=5.000e-04)
522
+ ROI hints: pos=101.6, bg=466.0, ignore=0.0, sampled_fg=69.1, sampled_bg=379.5, matched_gt=17.2, match_rate=93.86%
523
+ Validation complete: 1561 batches
524
+ Validation Metrics:
525
+ --------------------------------------------------
526
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
527
+ Avg Detections per Image (score≥0.0500): 24.65 ↓0.26
528
+ Avg Detections per Image (score≥0.5): 14.95 ↑0.22
529
+ Max detection score: 1.000
530
+ Mean detection score: 0.735
531
+ Time per Step: 0.2620 ↑0.0012
532
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
533
+ Ground Truth objects: 57768
534
+ mAP: (skipped)
535
+ Ground Truth Classes: 15 classes
536
+ Predicted Classes: 15 classes
537
+ Timing: 51m 22s this epoch (avg 57m 34s) | ETA ~2h 52m for 3 epoch(s) left, mAP every 4 epoch(s).
538
+
539
+ Epoch 10/12
540
+ --------------------------------------------------
541
+ Epoch 10/12 complete: 6846/6846 batches, loss: 0.4724
542
+ Effective LR: ref=5.000e-04 (0=5.000e-04)
543
+ ROI hints: pos=101.1, bg=460.5, ignore=0.0, sampled_fg=69.4, sampled_bg=375.8, matched_gt=17.3, match_rate=94.15%
544
+ Validation complete: 1561 batches
545
+ Validation Metrics:
546
+ --------------------------------------------------
547
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
548
+ Avg Detections per Image (score≥0.0500): 24.44 ↓0.21
549
+ Avg Detections per Image (score≥0.5): 15.14 ↑0.19
550
+ Max detection score: 1.000
551
+ Mean detection score: 0.741
552
+ Time per Step: 0.2609 ↑0.0010
553
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
554
+ Ground Truth objects: 57768
555
+ mAP: (skipped)
556
+ Ground Truth Classes: 15 classes
557
+ Predicted Classes: 15 classes
558
+ Timing: 51m 13s this epoch (avg 56m 56s) | ETA ~1h 53m for 2 epoch(s) left, mAP every 4 epoch(s).
559
+
560
+ Epoch 11/12
561
+ --------------------------------------------------
562
+ Epoch 11/12 complete: 6846/6846 batches, loss: 0.4591
563
+ Effective LR: ref=5.000e-04 (0=5.000e-04)
564
+ ROI hints: pos=100.6, bg=456.0, ignore=0.0, sampled_fg=69.6, sampled_bg=372.6, matched_gt=17.4, match_rate=94.40%
565
+ Validation complete: 1561 batches
566
+ Validation Metrics:
567
+ --------------------------------------------------
568
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
569
+ Avg Detections per Image (score≥0.0500): 24.32 ↓0.12
570
+ Avg Detections per Image (score≥0.5): 15.30 ↑0.17
571
+ Max detection score: 1.000
572
+ Mean detection score: 0.732
573
+ Time per Step: 0.2600 ↑0.0009
574
+ Accuracy / GT cover: (skipped — computed on mAP epochs)
575
+ Ground Truth objects: 57768
576
+ mAP: (skipped)
577
+ Ground Truth Classes: 15 classes
578
+ Predicted Classes: 15 classes
579
+ Timing: 51m 15s this epoch (avg 56m 25s) | ETA ~56m 25s for 1 epoch(s) left, mAP every 4 epoch(s).
580
+
581
+ Epoch 12/12
582
+ --------------------------------------------------
583
+ Epoch 12/12 complete: 6846/6846 batches, loss: 0.4472
584
+ Effective LR: ref=5.000e-05 (0=5.000e-05)
585
+ ROI hints: pos=100.2, bg=451.9, ignore=0.0, sampled_fg=69.8, sampled_bg=369.7, matched_gt=17.4, match_rate=94.62%
586
+
587
+ Computing mAP (periodic evaluation: every 4 epoch(s))...
588
+ Validation complete: 1561 batches
589
+
590
+ Computing mAP (this may take a while)...
591
+ Eval filters: score≥0.0500, IoU≥0.50
592
+ Images: 3,121
593
+ Total detections (post score filter): 71,672 (23.0 per image)
594
+ Total ground truths: 57,768 (18.5 per image)
595
+ Warning: Large number of detections may slow down mAP computation
596
+ Consider increasing evaluation.score_threshold (current: 0.05) for faster mAP matching
597
+ mAP: exact rotated IoU on CPU (backend='shapely'; GPU sampling IoU disabled)
598
+ Computing AP for baseball-diamond: 471 dets, 364 GTs (171,444 IoU calculations)
599
+ Computing AP for basketball-court: 361 dets, 278 GTs (100,358 IoU calculations)
600
+ Computing AP for bridge: 1,555 dets, 666 GTs (1,035,630 IoU calculations)
601
+ WARNING: harbor has 22,319,514 IoU calculations (5,193 dets × 4,298 GTs). This will be slow!
602
+ Computing AP for harbor: 5,193 dets, 4,298 GTs (22,319,514 IoU calculations)
603
+ Using chunked batch IoU computation (CPU exact (shapely)) for harbor (22,319,514 calculations)
604
+ Processing 5,193 detections in chunks of 1,163
605
+ WARNING: large-vehicle has 115,022,122 IoU calculations (12,239 dets × 9,398 GTs). This will be slow!
606
+ Computing AP for large-vehicle: 12,239 dets, 9,398 GTs (115,022,122 IoU calculations)
607
+ Using chunked batch IoU computation (CPU exact (shapely)) for large-vehicle (115,022,122 calculations)
608
+ Processing 12,239 detections in chunks of 532
609
+ WARNING: plane has 23,692,848 IoU calculations (5,008 dets × 4,731 GTs). This will be slow!
610
+ Computing AP for plane: 5,008 dets, 4,731 GTs (23,692,848 IoU calculations)
611
+ Using chunked batch IoU computation (CPU exact (shapely)) for plane (23,692,848 calculations)
612
+ Processing 5,008 detections in chunks of 1,056
613
+ WARNING: ship has 376,332,870 IoU calculations (20,305 dets × 18,534 GTs). This will be slow!
614
+ Computing AP for ship: 20,305 dets, 18,534 GTs (376,332,870 IoU calculations)
615
+ Using chunked batch IoU computation (CPU exact (shapely)) for ship (376,332,870 calculations)
616
+ Processing 20,305 detections in chunks of 269
617
+ WARNING: small-vehicle has 204,357,858 IoU calculations (17,994 dets × 11,357 GTs). This will be slow!
618
+ Computing AP for small-vehicle: 17,994 dets, 11,357 GTs (204,357,858 IoU calculations)
619
+ Using chunked batch IoU computation (CPU exact (shapely)) for small-vehicle (204,357,858 calculations)
620
+ Processing 17,994 detections in chunks of 440
621
+ Computing AP for soccer-ball-field: 440 dets, 260 GTs (114,400 IoU calculations)
622
+ WARNING: storage-tank has 22,453,353 IoU calculations (4,463 dets × 5,031 GTs). This will be slow!
623
+ Computing AP for storage-tank: 4,463 dets, 5,031 GTs (22,453,353 IoU calculations)
624
+ Using chunked batch IoU computation (CPU exact (shapely)) for storage-tank (22,453,353 calculations)
625
+ Processing 4,463 detections in chunks of 993
626
+ Computing AP for swimming-pool: 1,118 dets, 693 GTs (774,774 IoU calculations)
627
+ Computing AP for tennis-court: 1,629 dets, 1,529 GTs (2,490,741 IoU calculations)
628
+ mAP computation completed in 17m 27s. mAP: 0.8295
629
+ Validation Metrics:
630
+ --------------------------------------------------
631
+ Eval thresholds (mAP / matching): score≥0.0500, IoU≥0.50
632
+ Avg Detections per Image (score≥0.0500): 24.21 ↓0.11
633
+ Avg Detections per Image (score≥0.5): 15.44 ↑0.14
634
+ Max detection score: 1.000
635
+ Mean detection score: 0.738
636
+ Time per Step: 0.2593 ↑0.0007
637
+ Accuracy: 0.7137 (71.37%)
638
+ Correct Predictions: 51150/71672 (matched detections)
639
+ Ground Truth objects: 57768
640
+ GT covered pre-eval-threshold: 51176/57768
641
+ GT covered post-eval-threshold: 51176/57768
642
+ GT lost by eval-threshold filtering: 0
643
+ GT cover rate pre-eval-threshold: 88.59%
644
+ GT cover rate post-eval-threshold: 88.59%
645
+ GT IoU vs raw dets (eval IoU threshold=0.50; per-GT max IoU over all dets / over same-class dets):
646
+ mean best IoU (any class): 0.7255, median: 0.8025
647
+ mean best IoU (correct class): 0.7219, median: 0.8019
648
+ per-class mean best IoU (raw detections):
649
+ | class | gts | mean_any | mean_same | med_same |
650
+ |--------------------|-----:|----------:|-----------:|----------:|
651
+ | baseball-diamond | 364 | 0.7613 | 0.7613 | 0.7938 |
652
+ | basketball-court | 278 | 0.8561 | 0.8557 | 0.8784 |
653
+ | bridge | 665 | 0.6595 | 0.6582 | 0.7194 |
654
+ | ground-track-field | 216 | 0.7932 | 0.7833 | 0.8461 |
655
+ | harbor | 4298 | 0.6686 | 0.6657 | 0.7313 |
656
+ | helicopter | 157 | 0.7100 | 0.6887 | 0.7292 |
657
+ | large-vehicle | 9396 | 0.7612 | 0.7530 | 0.8089 |
658
+ | plane | 4731 | 0.8141 | 0.8141 | 0.8600 |
659
+ | roundabout | 254 | 0.7445 | 0.7325 | 0.8165 |
660
+ | ship | 18534 | 0.7605 | 0.7597 | 0.8115 |
661
+ | small-vehicle | 11357 | 0.6634 | 0.6557 | 0.7668 |
662
+ | soccer-ball-field | 260 | 0.7610 | 0.7478 | 0.8153 |
663
+ | storage-tank | 5030 | 0.5944 | 0.5944 | 0.7944 |
664
+ | swimming-pool | 693 | 0.6222 | 0.6222 | 0.6874 |
665
+ | tennis-court | 1529 | 0.8878 | 0.8825 | 0.9208 |
666
+ | global | 57762 | 0.7255 | 0.7219 | 0.8019 |
667
+ GTs with IoU≥thresh but no same-class hit (wrong-class / misaligned): 244
668
+ GTs with no detection above IoU thresh (missed / poor loc): 6340
669
+ GTs with 0% best IoU vs any detection (no spatial overlap): 3202 (5.54% of GTs)
670
+ histogram best IoU (any class) [0,0.25)/[0.25,0.5)/[0.5,0.75)/[0.75,1]: 5013/1327/12572/38850
671
+ histogram best IoU (correct class) [0,0.25)/[0.25,0.5)/[0.5,0.75)/[0.75,1]: 5281/1303/12510/38668
672
+ Class-agnostic duplicate rate (post score thresh; IoU≥0.50 vs a higher-score box): micro=1.00% (716/71672 boxes), macro mean over images with detections=1.69% (3117 images)
673
+ mAP: 0.8295 ↑0.1010 (82.95%)
674
+ Per-Class AP:
675
+ baseball-diamond: 0.8876 ↑0.0186 (88.76%)
676
+ basketball-court: 0.9035 ↑0.0050 (90.35%)
677
+ bridge: 0.7175 ↑0.1438 (71.75%)
678
+ ground-track-field: 0.8832 ↑0.0815 (88.32%)
679
+ harbor: 0.7887 ↑0.2652 (78.87%)
680
+ helicopter: 0.8784 ↑0.3330 (87.84%)
681
+ large-vehicle: 0.8788 ↑0.1070 (87.88%)
682
+ plane: 0.9075 ↑0.0018 (90.75%)
683
+ roundabout: 0.7931 ↑0.1091 (79.31%)
684
+ ship: 0.8980 ↑0.0885 (89.80%)
685
+ small-vehicle: 0.7629 ↑0.0889 (76.29%)
686
+ soccer-ball-field: 0.7950 ↑0.1082 (79.50%)
687
+ storage-tank: 0.7114 ↑0.0827 (71.14%)
688
+ swimming-pool: 0.7285 ↑0.0818 (72.85%)
689
+ tennis-court: 0.9090 ↑0.0000 (90.90%)
690
+ Ground Truth Classes: 15 classes
691
+ Predicted Classes: 15 classes
692
+ Timing: 1h 10m this epoch (avg 57m 33s) | Training loop finished (no final mAP).
693
+
694
+ ================================================================================
695
+ Training timing summary
696
+ ================================================================================
697
+ Started: 2026-09-07T12:45:36+00:00
698
+ Finished: 2026-09-08T00:16:10+00:00
699
+ Total wall: 11h 30m (41434.2 s)
700
+ Epochs: 12 completed (mean 57m 33s, min 51m 13s, max 1h 15m)
701
+ ================================================================================
702
+
703
+ ================================================================================
704
+ Training completed successfully!
705
+ ================================================================================
706
+ Experiment directory: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458
707
+ Checkpoints saved to: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458/checkpoints
708
+ TensorBoard logs saved to: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458
709
+ Config saved to: /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458/config.json
710
+
711
+ View TensorBoard with:
712
+ tensorboard --logdir /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn
713
+ tensorboard --logdir /home/jeffaudi/oriented-det/runs/rotated_faster_rcnn/20260907-124458
rotated_faster_rcnn_r50_fpn_dota_le90_1x-1e3dabeb.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e3dabeba821e8497e987f434feedb974b3cc8775f1a5538562969792621a06c
3
+ size 330092081