From 22264d3f76fa16088c36ad0494fdc235f4ee62fa Mon Sep 17 00:00:00 2001 From: Gene Date: Fri, 21 Apr 2023 14:42:46 +0800 Subject: [PATCH] [FIX] Fix bugs in EasyMarket --- examples/example_pfs/main.py | 13 ++++++++++--- examples/example_pfs/t | 12 ------------ learnware/market/easy.py | 4 ++-- 3 files changed, 12 insertions(+), 17 deletions(-) delete mode 100644 examples/example_pfs/t diff --git a/examples/example_pfs/main.py b/examples/example_pfs/main.py index f2fe0a6..68301b1 100644 --- a/examples/example_pfs/main.py +++ b/examples/example_pfs/main.py @@ -121,6 +121,10 @@ class PFSDatasetWorkflow: pfs = Dataloader() idx_list = pfs.get_idx_list() os.makedirs("./user_spec", exist_ok=True) + sinle_score_list = [] + random_score_list = [] + job_selector_score_list = [] + ensemble_score_list = [] for idx in idx_list: train_x, train_y, test_x, test_y = pfs.get_idx_data(idx) @@ -142,10 +146,11 @@ class PFSDatasetWorkflow: print( f"single model num: {len(sorted_score_list)}, max_score: {sorted_score_list[0]}, min_score: {sorted_score_list[-1]}" ) - for score, learnware in zip(sorted_score_list[:5], single_learnware_list[:5]): + loss_list = [] + for score, learnware in zip(sorted_score_list, single_learnware_list): pred_y = learnware.predict(test_x) - loss = pfs.score(test_y, pred_y) - print(f"score: {score}, learnware_id: {learnware.id}, loss: {loss}") + loss_list.append(pfs.score(test_y, pred_y)) + print(f"Top1-score: {sorted_score_list[0]}, learnware_id: {learnware.id}, loss: {loss_list[-1]}") mixture_id = " ".join([learnware.id for learnware in mixture_learnware_list]) print(f"mixture_score: {mixture_score}, mixture_learnware: {mixture_id}") @@ -155,6 +160,8 @@ class PFSDatasetWorkflow: reuse_score = pfs.score(test_y, reuse_predict) print(f"mixture reuse loss: {reuse_score}\n") + sinle_score_list.append() + if __name__ == "__main__": fire.Fire(PFSDatasetWorkflow) diff --git a/examples/example_pfs/t b/examples/example_pfs/t deleted file mode 100644 index fb6b059..0000000 --- a/examples/example_pfs/t +++ /dev/null @@ -1,12 +0,0 @@ -NAME - main.py - -SYNOPSIS - main.py COMMAND - -COMMANDS - COMMAND is one of the following: - - prepare_learnware - - test diff --git a/learnware/market/easy.py b/learnware/market/easy.py index 703c1f1..944342d 100644 --- a/learnware/market/easy.py +++ b/learnware/market/easy.py @@ -624,9 +624,9 @@ class EasyMarket(BaseMarket): # learnware_list = list(set(learnware_list_tags + learnware_list_description)) if "RKMEStatSpecification" not in user_info.stat_info: - return None, learnware_list, None + return None, learnware_list, 0.0, None elif len(learnware_list) == 0: - return [], [], [] + return [], [], 0.0, [] else: user_rkme = user_info.stat_info["RKMEStatSpecification"] learnware_list = self._filter_by_rkme_spec_dimension(learnware_list, user_rkme)