You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_reuse.py 1.6 kB

12345678910111213141516171819202122232425262728293031323334
  1. import zipfile
  2. import numpy as np
  3. from learnware.learnware import get_learnware_from_dirpath
  4. from learnware.client.container import LearnwaresContainer
  5. from learnware.learnware.reuse import AveragingReuser
  6. from learnware.test.module import get_semantic_specification
  7. if __name__ == "__main__":
  8. semantic_specification = get_semantic_specification()
  9. zip_paths = [
  10. "/home/bixd/workspace/learnware/Learnware/tests/test_learnware_client/rf_tic.zip",
  11. "/home/bixd/workspace/learnware/Learnware/tests/test_learnware_client/svc_tic.zip",
  12. ]
  13. dir_paths = [
  14. "/home/bixd/workspace/learnware/Learnware/tests/test_learnware_client/rf_tic",
  15. "/home/bixd/workspace/learnware/Learnware/tests/test_learnware_client/svc_tic",
  16. ]
  17. learnware_list = []
  18. for id, (zip_path, dir_path) in enumerate(zip(zip_paths, dir_paths)):
  19. with zipfile.ZipFile(zip_path, "r") as z_file:
  20. z_file.extractall(dir_path)
  21. learnware = get_learnware_from_dirpath(f"test_id{id}", semantic_specification, dir_path)
  22. learnware_list.append(learnware)
  23. with LearnwaresContainer(learnware_list, zip_paths) as env_container:
  24. learnware_list = env_container.get_learnwares_with_container()
  25. reuser = AveragingReuser(learnware_list, mode="vote")
  26. input_array = np.random.randint(0, 3, size=(20, 9))
  27. print(reuser.predict(input_array).argmax(axis=1))
  28. for id, ind_learner in enumerate(learnware_list):
  29. print(f"learner_{id}", reuser.predict(input_array).argmax(axis=1))