pyheartex icon indicating copy to clipboard operation
pyheartex copied to clipboard

sklearn adapter unable to load freshly created model

Open guneemwelloeux opened this issue 4 years ago • 0 comments

With the following dict as the value of the train_output parameter to the SklearnTextClassifier.load method in pyheartex/htx/adapters/sklearn.py: {'model': '/Users/wollivier/.heartex/models/1.my_super_model/1582135897/model.joblib', 'idx_choice_map': '/Users/wollivier/.heartex/models/1.my_super_model/1582135897/idx_choice_map.json'}

the sklearn adapter is not able to load the newly generated model, because it is passing the file name string to json.load instead of passing the file object for the pointed file

127.0.0.1 - - [19/Feb/2020 18:11:39] "POST /predict HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 2463, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 2449, in wsgi_app
    response = self.handle_exception(e)
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 1866, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/wollivier/.pyenv/versions/3.7.6/envs/arcana/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/wollivier/dev/ARCANA/pyheartex/htx/htx.py", line 36, in _predict
    results, model_version = _model_manager.predict(tasks, project, schema, model_version, **params)
  File "/Users/wollivier/dev/ARCANA/pyheartex/htx/model_manager.py", line 162, in predict
    model = self._create_model_from_job_result(job_result, schema)
  File "/Users/wollivier/dev/ARCANA/pyheartex/htx/model_manager.py", line 95, in _create_model_from_job_result
    model.load(resources)
  File "/Users/wollivier/dev/ARCANA/pyheartex/htx/adapters/sklearn.py", line 25, in load
    self._idx_choice_map = json.load(train_output['idx_choice_map'])
  File "/Users/wollivier/.pyenv/versions/3.7.6/lib/python3.7/json/__init__.py", line 293, in load
    return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'

guneemwelloeux avatar Feb 19 '20 18:02 guneemwelloeux