2016-10-10 6 views
1

Я получаю эту ошибку при запуске кода ниже.h2o.exceptions.H2OResponseError: Ошибка сервера water.exceptions.H2OKeyNotFoundArgumentException

import h2o 
from h2o.estimators.gbm import H2OGradientBoostingEstimator as GBM 
from sklearn import datasets 
import numpy as np 
import pandas as pd 

h2o.init(ip='192.168.0.4',port=54321) 

# writing data to CSV so that h2o can read it 
digits = datasets.load_digits() 
predictors = digits.data[:-1] 
targets = digits.target[:-1] 
record_count = targets.shape[0] 
targets = targets.reshape([record_count,1]) 
data = predictors 
data = np.concatenate((data, targets), axis=1) 
write_df = pd.DataFrame(data).to_csv(path_or_buf='data.csv',index=False) 
model = GBM(ntrees=3,distribution='multinomial',max_depth=3) 
everything = h2o.import_file(path='data.csv') 
everything[64] = everything[64].asfactor() 
model.start(training_frame=everything,x=list(range(64)),y=64,validation_frame=everything) 

# model seems to be None for some reason 
predictions = model.predict(everything) 

Специфическая ошибка:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Users/ryanzotti/anaconda/lib/python3.4/site-packages/h2o/model/model_base.py", line 148, in predict 
    j = H2OJob(h2o.api("POST /4/Predictions/models/%s/frames/%s" % (self.model_id, test_data.frame_id)), 
    File "/Users/ryanzotti/anaconda/lib/python3.4/site-packages/h2o/h2o.py", line 83, in api 
    return h2oconn.request(endpoint, data=data, json=json, filename=filename, save_to=save_to) 
    File "/Users/ryanzotti/anaconda/lib/python3.4/site-packages/h2o/backend/connection.py", line 259, in request 
    return self._process_response(resp, save_to) 
    File "/Users/ryanzotti/anaconda/lib/python3.4/site-packages/h2o/backend/connection.py", line 586, in _process_response 
    raise H2OResponseError(data) 
h2o.exceptions.H2OResponseError: Server error water.exceptions.H2OKeyNotFoundArgumentException: 
    Error: Object 'None' not found in function: predict for argument: model 
    Request: POST /4/Predictions/models/None/frames/py_1_sid_a5e2 

Там нет других ошибок предшествующих этому.

H2O Версия: 3.11.0.3645

Python Версия: 3.4.4

ответ

1

model.start Изменение в model.train (3-й линии от дна), и он должен работать.

В документации по методу model.start() говорится: «Обучите модель асинхронно». Это означает, что модель обучается в фоновом режиме и недоступна сразу для вызова прогноза.

Метод model.train(), с другой стороны, ждет завершения тренировки перед продолжением.