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.

example_learnware.py 1.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import joblib
  2. import numpy as np
  3. from sklearn import svm
  4. from svm import SVM
  5. from learnware.learnware import Learnware
  6. import learnware.specification as specification
  7. from learnware.utils import get_module_by_module_path
  8. def prepare_learnware():
  9. data_X = np.random.randn(5000, 20)
  10. data_y = np.random.randn(5000)
  11. data_y = np.where(data_y > 0, 1, 0)
  12. clf = svm.SVC()
  13. clf.fit(data_X, data_y)
  14. joblib.dump(clf, "./svm/svm.pkl")
  15. spec = specification.utils.generate_rkme_spec(X=data_X, gamma=0.1)
  16. spec.save("./svm/spec.json")
  17. def test_API():
  18. text_X = np.random.randn(100, 20)
  19. svm = SVM()
  20. pred_y1 = svm.predict(text_X)
  21. print(type(svm))
  22. model = {"module_path": "./svm/__init__.py", "class_name": "SVM"}
  23. spec = specification.rkme.RKMEStatSpecification()
  24. spec.load("./svm/spec.json")
  25. learnware = Learnware(id="A0", name="SVM", model=model, specification=spec, desc="svm")
  26. pred_y2 = learnware.predict(text_X)
  27. print(type(learnware.model))
  28. print(f"diff: {np.sum(pred_y1 != pred_y2)}")
  29. if __name__ == "__main__":
  30. prepare_learnware()
  31. test_API()

基于学件范式,全流程地支持学件上传、检测、组织、查搜、部署和复用等功能。同时,该仓库作为北冥坞系统的引擎,支撑北冥坞系统的核心功能。