Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

gorenml.py 1.9 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  1. from urllib import request, parse
  2. import os
  3. import json
  4. from sklearn.base import BaseEstimator, ClassifierMixin
  5. from python.style_predict import load_model, predict_on_test_dir, predict_on_token_array, predict_on_test_file, autotag
  6. from python.style_learn import fit_file
  7. class Submission(BaseEstimator, ClassifierMixin):
  8. def __init__(self, submission_name, model_folder='../model', train_params={}):
  9. self.model_folder = model_folder
  10. self.submission_name = submission_name
  11. self.train_params = train_params
  12. def fit(self, X, y=None):
  13. assert type(X) == str
  14. assert os.path.exists(X)
  15. filename = X
  16. fit_file(filename, self.train_params)
  17. def predict(self, X, y=None):
  18. model, params = load_model(self.model_folder)
  19. if type(X)==list:
  20. return [predict_on_token_array(x, model, params) for x in X]
  21. elif os.path.exists(X):
  22. if os.path.isdir(X):
  23. return predict_on_test_dir(X, model, params)
  24. else:
  25. return predict_on_test_file(X, model, params)
  26. else:
  27. return autotag(X, model, params)
  28. def submit(self, test_folder="../data/test_txt"):
  29. """Submits a test data set to the goren.ml server"""
  30. if type(test_folder)==str:
  31. model, params = load_model(self.model_folder)
  32. test_data = predict_on_test_dir(test_folder, model, params)
  33. else:
  34. test_data = test_folder
  35. data = parse.urlencode({"name":self.submission_name, "submission": json.dumps(test_data)}).encode()
  36. req = request.Request("http://goren4u.com/nlp_ner/", data=data)
  37. resp = request.urlopen(req)
  38. return float(resp.read().decode("utf8"))
  39. if __name__ == "__main__":
  40. submission = Submission("ug")
  41. accuracy = submission.submit()
  42. print (accuracy)
  43. # print(submission.submit({"a": ["n n b","b"], "b": ["n n b","b"]}))
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...