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_load_docker.py 2.4 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import os
  2. import unittest
  3. import zipfile
  4. import numpy as np
  5. import learnware
  6. from learnware.learnware import get_learnware_from_dirpath
  7. from learnware.client import LearnwareClient
  8. from learnware.client.container import ModelCondaContainer, LearnwaresContainer
  9. from learnware.reuse import AveragingReuser
  10. class TestLearnwareLoad(unittest.TestCase):
  11. def setUp(self):
  12. unittest.TestCase.setUpClass()
  13. email = "liujd@lamda.nju.edu.cn"
  14. token = "f7e647146a314c6e8b4e2e1079c4bca4"
  15. self.client = LearnwareClient()
  16. self.client.login(email, token)
  17. root = os.path.dirname(__file__)
  18. self.learnware_ids = ["00000084", "00000154", "00000155"]
  19. self.zip_paths = [os.path.join(root, x) for x in ["1.zip", "2.zip", "3.zip"]]
  20. def test_load_multi_learnware_by_zippath(self):
  21. for learnware_id, zip_path in zip(self.learnware_ids, self.zip_paths):
  22. self.client.download_learnware(learnware_id, zip_path)
  23. learnware_list = self.client.load_learnware(learnware_path=self.zip_paths, runnable_option="docker")
  24. reuser = AveragingReuser(learnware_list, mode="vote_by_label")
  25. input_array = np.random.random(size=(20, 13))
  26. print(reuser.predict(input_array))
  27. for learnware in learnware_list:
  28. print(learnware.id, learnware.predict(input_array))
  29. def test_load_multi_learnware_by_id(self):
  30. learnware_list = self.client.load_learnware(learnware_id=self.learnware_ids, runnable_option="docker")
  31. reuser = AveragingReuser(learnware_list, mode="vote_by_label")
  32. input_array = np.random.random(size=(20, 13))
  33. print(reuser.predict(input_array))
  34. for learnware in learnware_list:
  35. print(learnware.id, learnware.predict(input_array))
  36. def test_load_single_learnware_by_id_pip(self):
  37. learnware_id = "00000147"
  38. learnware = self.client.load_learnware(learnware_id=learnware_id, runnable_option="docker")
  39. input_array = np.random.random(size=(20, 23))
  40. print(learnware.predict(input_array))
  41. def test_load_single_learnware_by_id_conda(self):
  42. learnware_id = "00000148"
  43. learnware = self.client.load_learnware(learnware_id=learnware_id, runnable_option="docker")
  44. input_array = np.random.random(size=(20, 204))
  45. print(learnware.predict(input_array))
  46. if __name__ == "__main__":
  47. unittest.main()