@@ -84,7 +84,7 @@ def val(self, epoch=None):
84
84
IOU_meter = AverageMeter ()
85
85
ADD_cls_meter = [AverageMeter () for cl in range (self .num_classes )]
86
86
SADD_cls_meter = [AverageMeter () for cl in range (self .num_classes )]
87
- acc_cls_meter = [AverageMeter () for cl in range (self .num_classes )]
87
+ ACC_cls_meter = [AverageMeter () for cl in range (self .num_classes )]
88
88
IOU__cls_meter = [AverageMeter () for cl in range (self .num_classes )]
89
89
90
90
# switch to eval mode
@@ -98,23 +98,24 @@ def val(self, epoch=None):
98
98
# measure metrics
99
99
ADD , SADD = compute_average_distance (pred_kp , gt_kp )
100
100
IOU = compute_2d_based_iou (pred_kp , gt_kp )
101
- acc = compute_accuracy (pred_cats , gt_cats )
101
+ ACC = compute_accuracy (pred_cats , gt_cats )
102
102
103
- for cl , ADD_cls , SADD_cls , acc_cls in compute_metrics_per_cls (pred_kp , gt_kp , pred_cats , gt_cats ):
103
+ for cl , ADD_cls , SADD_cls , ACC_cls in compute_metrics_per_cls (pred_kp , gt_kp , pred_cats , gt_cats ):
104
104
ADD_cls_meter [cl ].update (ADD_cls , imgs .size (0 ))
105
105
SADD_cls_meter [cl ].update (SADD_cls , imgs .size (0 ))
106
- acc_cls_meter [cl ].update (acc_cls , imgs .size (0 ))
106
+ ACC_cls_meter [cl ].update (ACC_cls , imgs .size (0 ))
107
+ IOU__cls_meter [cl ].update (IOU , imgs .size (0 ))
107
108
108
109
# record loss
109
110
ADD_meter .update (ADD , imgs .size (0 ))
110
111
SADD_meter .update (SADD , imgs .size (0 ))
111
- ACC_meter .update (acc , imgs .size (0 ))
112
+ ACC_meter .update (ACC , imgs .size (0 ))
112
113
IOU_meter .update (IOU )
113
114
if epoch is not None :
114
115
# update progress bar
115
116
loop .set_description (f'Val Epoch [{ epoch } /{ self .max_epoch } ]' )
116
117
loop .set_postfix (ADD = ADD , avr_ADD = ADD_meter .avg , SADD = SADD ,
117
- avr_SADD = SADD_meter .avg , acc = acc , acc_avg = ACC_meter .avg )
118
+ avr_SADD = SADD_meter .avg , acc = ACC , acc_avg = ACC_meter .avg )
118
119
119
120
if self .debug and it == self .debug_steps :
120
121
break
@@ -125,16 +126,19 @@ def val(self, epoch=None):
125
126
self .writer .add_scalar ('Val/ADD' , ADD_meter .avg , global_step = self .val_step )
126
127
self .writer .add_scalar ('Val/SADD' , SADD_meter .avg , global_step = self .val_step )
127
128
self .writer .add_scalar ('Val/ACC' , ACC_meter .avg , global_step = self .val_step )
129
+ self .writer .add_scalar ('Val/IOU' , IOU_meter .avg , global_step = self .val_step )
128
130
for cls_ in range (self .num_classes ):
129
131
cl_str = OBJECTRON_CLASSES [cls_ ]
130
132
if epoch is not None :
131
133
self .writer .add_scalar (f'Val/ADD_{ cl_str } ' , ADD_cls_meter [cls_ ].avg , global_step = self .val_step )
132
134
self .writer .add_scalar (f'Val/SADD_{ cl_str } ' , SADD_cls_meter [cls_ ].avg , global_step = self .val_step )
133
- self .writer .add_scalar (f'Val/ACC_{ cl_str } ' , acc_cls_meter [cls_ ].avg , global_step = self .val_step )
135
+ self .writer .add_scalar (f'Val/ACC_{ cl_str } ' , ACC_cls_meter [cls_ ].avg , global_step = self .val_step )
136
+ self .writer .add_scalar (f'Val/IOU_{ cl_str } ' , IOU__cls_meter [cls_ ].avg , global_step = self .val_step )
134
137
self .val_step += 1
135
138
per_class_metr_message += (f"\n ***{ cl_str } ***:\n ADD: { ADD_cls_meter [cls_ ].avg } \n "
136
139
f"SADD: { SADD_cls_meter [cls_ ].avg } \n "
137
- f"accuracy: { acc_cls_meter [cls_ ].avg } \n " )
140
+ f"IOU: { IOU__cls_meter [cls_ ].avg } \n "
141
+ f"accuracy: { ACC_cls_meter [cls_ ].avg } \n " )
138
142
139
143
ep_mess = f"epoch : { epoch } \n " if epoch is not None else ""
140
144
print ("\n Computed val metrics:\n "
0 commit comments