def select(metricname, opt): if 'e_recall' in metricname: k = int(metricname.split('@')[-1]) return e_recall.Metric(k) elif metricname == 'nmi': return nmi.Metric() elif metricname == 'mAP': return mAP.Metric() elif metricname == 'mAP_c': return mAP_c.Metric() elif metricname == 'mAP_lim': return mAP_lim.Metric() elif metricname == 'mAP_1000': return mAP_1000.Metric() elif metricname == 'f1': return f1.Metric() elif 'dists' in metricname: mode = metricname.split('@')[-1] return dists.Metric(mode) elif 'rho_spectrum' in metricname: mode = int(metricname.split('@')[-1]) embed_dim = opt.rho_spectrum_embed_dim return rho_spectrum.Metric(embed_dim, mode=mode, opt=opt) else: raise NotImplementedError( "Metric {} not available!".format(metricname))
def select(metricname, opt): #### Metrics based on euclidean distances if 'e_recall' in metricname: k = int(metricname.split('@')[-1]) return e_recall.Metric(k) elif metricname=='nmi': return nmi.Metric() elif metricname=='mAP': return mAP.Metric() elif metricname=='mAP_c': return mAP_c.Metric() elif metricname=='mAP_lim': return mAP_lim.Metric() elif metricname=='mAP_1000': return mAP_1000.Metric() elif metricname=='f1': return f1.Metric() #### Metrics based on cosine similarity elif 'c_recall' in metricname: k = int(metricname.split('@')[-1]) return c_recall.Metric(k) elif metricname=='c_nmi': return c_nmi.Metric() elif metricname=='c_mAP': return c_mAP.Metric() elif metricname=='c_mAP_c': return c_mAP_c.Metric() elif metricname=='c_mAP_lim': return c_mAP_lim.Metric() elif metricname=='c_mAP_1000': return c_mAP_1000.Metric() elif metricname=='c_f1': return c_f1.Metric() #### Generic Embedding space metrics elif 'dists' in metricname: mode = metricname.split('@')[-1] return dists.Metric(mode) elif 'rho_spectrum' in metricname: mode = int(metricname.split('@')[-1]) embed_dim = opt.rho_spectrum_embed_dim return rho_spectrum.Metric(embed_dim, mode=mode, opt=opt) else: raise NotImplementedError("Metric {} not available!".format(metricname))
def select(metricname): if 'e_recall' in metricname: k = int(metricname.split('@')[-1]) return e_recall.Metric(k) elif 'a_recall' in metricname: k = int(metricname.split('@')[-1]) return a_recall.Metric(k) elif metricname == 'nmi': return nmi.Metric() elif metricname == 'mAP_c': return mAP_c.Metric() elif metricname == 'f1': return f1.Metric() elif 'dists' in metricname: mode = metricname.split('@')[-1] return dists.Metric(mode) else: raise NotImplementedError( "Metric {} not available!".format(metricname))