From 9b56f71aaa02b71446440d11d7c8a1bc1c1ff081 Mon Sep 17 00:00:00 2001 From: Gao Enhao Date: Fri, 31 Mar 2023 15:09:00 +0800 Subject: [PATCH] [MNT] remove examples/share_example.py and examples/nonshare_example.py --- examples/nonshare_example.py | 97 ------------------------------------ examples/share_example.py | 96 ----------------------------------- 2 files changed, 193 deletions(-) delete mode 100644 examples/nonshare_example.py delete mode 100644 examples/share_example.py diff --git a/examples/nonshare_example.py b/examples/nonshare_example.py deleted file mode 100644 index dbc2b44..0000000 --- a/examples/nonshare_example.py +++ /dev/null @@ -1,97 +0,0 @@ -# coding: utf-8 -#================================================================# -# Copyright (C) 2021 Freecss All rights reserved. -# -# File Name :nonshare_example.py -# Author :freecss -# Email :karlfreecss@gmail.com -# Created Date :2021/06/07 -# Description : -# -#================================================================# - -from utils.plog import logger -from models.wabl_models import DecisionTree, KNN -import pickle as pk -import numpy as np -import time -import framework - -from multiprocessing import Pool -import os -from datasets.data_generator import generate_data_via_codes, code_generator -from collections import defaultdict -from abducer.abducer_base import AbducerBase -from abducer.kb import ClsKB, RegKB - -def run_test(params): - code_len, times, code_num, share, model_type, need_prob, letter_num = params - - if share: - result_dir = "share_result" - else: - result_dir = "non_share_result" - - recoder_file_path = f"{result_dir}/random_{times}_{code_len}_{code_num}_{model_type}_{need_prob}.pk" - - words = code_generator(code_len, code_num, letter_num) - kb = ClsKB(words) - abducer = AbducerBase(kb, dist_func = "confidence", pred_res_parse = lambda x : x["prob"]) - - label_lists = [[] for _ in range(code_len)] - for widx, word in enumerate(words): - for cidx, c in enumerate(word): - label_lists[cidx].append(c) - - if share: - label_lists = [sum(label_lists, [])] - - recoder = logger() - recoder.set_savefile("test.log") - for idx, err in enumerate(range(15, 41)): - start = time.process_time() - err = err / 40. - if 1 - err < (1. / letter_num): - break - - print("Start expriment", idx) - if model_type == "KNN": - model = KNN(code_len, label_lists = label_lists, share=share) - elif model_type == "DT": - model = DecisionTree(code_len, label_lists = label_lists, share=share) - - pre_X, pre_Y = generate_data_via_codes(words, err, letter_num) - X, Y = generate_data_via_codes(words, 0, letter_num) - - str_words = ["".join(str(c) for c in word) for word in words] - - recoder.print(str_words) - - model.train(pre_X, pre_Y) - abl_epoch = 30 - res = framework.train(model, abducer, X, Y, sample_num = 10000, verbose = 1) - print("Initial data accuracy:", 1 - err) - print("Abd word accuracy: ", res["accuracy_word"] * 1.0 / res["total_word"]) - print("Abd char accuracy: ", res["accuracy_abd_char"] * 1.0 / res["total_abd_char"]) - print("Ori char accuracy: ", res["accuracy_ori_char"] * 1.0 / res["total_ori_char"]) - print("End expriment", idx) - print() - - recoder.dump(open(recoder_file_path, "wb")) - return True - -if __name__ == "__main__": - os.system("mkdir share_result") - os.system("mkdir non_share_result") - - for times in range(5): - for code_num in [32, 64, 128]: - params = [11, times, code_num, False, "KNN", True, 2] - run_test(params) - - params = [11, times, code_num, False, "KNN", False, 2] - run_test(params) - - #params = [11, 0, 32, False, "DT", False, 2] - #run_test(params) - diff --git a/examples/share_example.py b/examples/share_example.py deleted file mode 100644 index 1b2e233..0000000 --- a/examples/share_example.py +++ /dev/null @@ -1,96 +0,0 @@ -# coding: utf-8 -#================================================================# -# Copyright (C) 2021 Freecss All rights reserved. -# -# File Name :share_example.py -# Author :freecss -# Email :karlfreecss@gmail.com -# Created Date :2021/06/07 -# Description : -# -#================================================================# - -from utils.plog import logger -from models.wabl_models import DecisionTree, KNN -import pickle as pk -import numpy as np -import time -import framework - -from multiprocessing import Pool -import os -from datasets.data_generator import generate_data_via_codes, code_generator -from collections import defaultdict -from abducer.abducer_base import AbducerBase -from abducer.kb import ClsKB, RegKB - -def run_test(params): - code_len, times, code_num, share, model_type, need_prob, letter_num = params - - if share: - result_dir = "share_result" - else: - result_dir = "non_share_result" - - recoder_file_path = f"{result_dir}/random_{times}_{code_len}_{code_num}_{model_type}_{need_prob}.pk"# - - words = code_generator(code_len, code_num, letter_num) - kb = ClsKB(words) - abducer = AbducerBase(kb) - - label_lists = [[] for _ in range(code_len)] - for widx, word in enumerate(words): - for cidx, c in enumerate(word): - label_lists[cidx].append(c) - - if share: - label_lists = [sum(label_lists, [])] - - recoder = logger() - recoder.set_savefile("test.log") - for idx, err in enumerate(range(0, 41)): - print("Start expriment", idx) - start = time.process_time() - err = err / 40. - if 1 - err < (1. / letter_num): - break - if model_type == "KNN": - model = KNN(code_len, label_lists = label_lists, share=share) - elif model_type == "DT": - model = DecisionTree(code_len, label_lists = label_lists, share=share) - - pre_X, pre_Y = generate_data_via_codes(words, err, letter_num) - X, Y = generate_data_via_codes(words, 0, letter_num) - - str_words = ["".join(str(c) for c in word) for word in words] - - recoder.print(str_words) - - model.train(pre_X, pre_Y) - abl_epoch = 30 - res = framework.train(model, abducer, X, Y, sample_num = 10000, verbose = 1) - print("Initial data accuracy:", 1 - err) - print("Abd word accuracy: ", res["accuracy_word"] * 1.0 / res["total_word"]) - print("Abd char accuracy: ", res["accuracy_abd_char"] * 1.0 / res["total_abd_char"]) - print("Ori char accuracy: ", res["accuracy_ori_char"] * 1.0 / res["total_ori_char"]) - print("End expriment", idx) - print() - - recoder.dump(open(recoder_file_path, "wb")) - return True - -if __name__ == "__main__": - os.system("mkdir share_result") - os.system("mkdir non_share_result") - - for times in range(5): - for code_num in [32, 64, 128]: - params = [11, times, code_num, True, "KNN", True, 2] - run_test(params) - - params = [11, times, code_num, True, "KNN", False, 2] - run_test(params) - - #params = [11, 0, 32, True, "DT", True, 2] - #run_test(params) -