def getMsg(self): self.datas = [] # 1. =======compute the average MAE of methods========= print("------1. Compute the average MAE of Methods------") aveMAE, gt2rs_mae = compute_ave_MAE_of_methods(self.gt_name_list, self.rs_dir_lists) for i in range(0, len(self.rs_dirs)): print( '>>%s: num_rs/num_gt-> %d/%d, aveMAE-> %.4f' % ( self.rs_dirs[i], gt2rs_mae[i], len(self.gt_name_list), aveMAE[i])) data_MAE = str(aveMAE[i]) self.datas.append(data_MAE) # 2. =======compute the Precision, Recall and F-measure of methods========= from measures import compute_PRE_REC_FM_of_methods, plot_save_pr_curves, plot_save_fm_curves print("------2. Compute the Precision, Recall and F-measure of Methods------") PRE, REC, FM, gt2rs_fm = compute_PRE_REC_FM_of_methods(self.gt_name_list, self.rs_dir_lists, beta=0.3) for i in range(0, FM.shape[0]): print(">>", self.rs_dirs[i], ":", "num_rs/num_gt-> %d/%d," % (int(gt2rs_fm[i][0]), len(self.gt_name_list)), "maxF->%.4f, " % (np.max(FM, 1)[i]), "meanF->%.4f, " % (np.mean(FM, 1)[i]), "PRE->%.4f, " % (np.mean(PRE, 1)[i]), "REC->%.4f, " % (np.mean(REC, 1)[i])) data_maxF = np.max(FM, 1)[i] data_meanF = np.mean(FM, 1)[i] data_PRE = np.mean(PRE, 1)[i] data_REC = np.mean(REC, 1)[i] self.datas.append(data_maxF) self.datas.append(data_meanF) self.datas.append(data_PRE) self.datas.append(data_REC) print('\n') print(self.datas) # 3. =======Plot and save precision-recall curves========= print("------ 3. Plot and save precision-recall curves------") plot_save_pr_curves(PRE, # numpy array (num_rs_dir,255), num_rs_dir curves will be drawn REC, # numpy array (num_rs_dir,255) method_names=self.rs_dirs, # method names, shape (num_rs_dir), will be included in the figure legend lineSylClr=self.lineSylClr, # curve styles, shape (num_rs_dir) linewidth=self.linewidth, # curve width, shape (num_rs_dir) xrange=(0.5, 1.0), # the showing range of x-axis yrange=(0.5, 1.0), # the showing range of y-axis dataset_name=self.data_name, # dataset name will be drawn on the bottom center position save_dir=self.data_dir, # figure save directory save_fmt='png') # format of the to-be-saved figure print('\n') # 4. =======Plot and save F-measure curves========= print("------ 4. Plot and save F-measure curves------") plot_save_fm_curves(FM, # numpy array (num_rs_dir,255), num_rs_dir curves will be drawn mybins=np.arange(0, 256), method_names=self.rs_dirs, # method names, shape (num_rs_dir), will be included in the figure legend lineSylClr=self.lineSylClr, # curve styles, shape (num_rs_dir) linewidth=self.linewidth, # curve width, shape (num_rs_dir) xrange=(0.0, 1.0), # the showing range of x-axis yrange=(0.0, 1.0), # the showing range of y-axis dataset_name=self.data_name, # dataset name will be drawn on the bottom center position save_dir=self.data_dir, # figure save directory save_fmt='png') # format of the to-be-saved figure print(self.datas) return self.datas
print('\n') print("------2. Compute the Precision, Recall and F-measure of Methods------") PRE, REC, FM, gt2rs_fm = compute_PRE_REC_FM_of_methods(gt_name_list,rs_dir_lists,beta=0.3) for i in range(0,FM.shape[0]): print(">>", rs_dirs[i],":", "num_rs/num_gt-> %d/%d,"%(int(gt2rs_fm[i][0]),len(gt_name_list)), "maxF->%.3f, "%(np.max(FM,1)[i]), "meanF->%.3f, "%(np.mean(FM,1)[i])) print('\n') ## 3. =======Plot and save precision-recall curves========= print("------ 3. Plot and save precision-recall curves------") plot_save_pr_curves(PRE, # numpy array (num_rs_dir,255), num_rs_dir curves will be drawn REC, # numpy array (num_rs_dir,255) method_names = rs_dirs, # method names, shape (num_rs_dir), will be included in the figure legend lineSylClr = lineSylClr, # curve styles, shape (num_rs_dir) linewidth = linewidth, # curve width, shape (num_rs_dir) xrange = (0.5,1.0), # the showing range of x-axis yrange = (0.5,1.0), # the showing range of y-axis dataset_name = data_name, # dataset name will be drawn on the bottom center position save_dir = data_dir, # figure save directory save_fmt = 'png') # format of the to-be-saved figure print('\n') ## 4. =======Plot and save F-measure curves========= print("------ 4. Plot and save F-measure curves------") plot_save_fm_curves(FM, # numpy array (num_rs_dir,255), num_rs_dir curves will be drawn mybins = np.arange(0,256), method_names = rs_dirs, # method names, shape (num_rs_dir), will be included in the figure legend lineSylClr = lineSylClr, # curve styles, shape (num_rs_dir) linewidth = linewidth, # curve width, shape (num_rs_dir) xrange = (0.0,1.0), # the showing range of x-axis yrange = (0.0,1.0), # the showing range of y-axis