Scikitlearn - Tensorflow pipe - Как сохранить конвейер в формате hd5 / pmml - PullRequest
2 голосов
/ 03 апреля 2019

Я создал конвейерную модель, смешивающую scikit Learn с предварительной обработкой и keras.

scaler = StandardScaler()
clf = KerasRegressor(build_fn=build_model,epochs=1000,validation_split=0.2, batch_size=100, callbacks=[print_dot,plot_losses], verbose=1)))

pipeline = Pipeline([
    ('preprocess',scaler),
    ('clf',clf)
])

import time
start = time.time()
pipeline.fit(X_train,y_train)
end = time.time()
print(end-start)

Этот код работает, и я также могу вызвать метод конвейерного преобразования

predictions = pipeline.predict(X_test).flatten()

Проблема заключается в том, что мне нужно сохранить Pipeline как модель HD5, чтобы во время выполнения модели можно было передавать необработанные значения -

Возможно ли это если нет, то какой метод размещения этого конвейера?

Таким образом, приведенный ниже вопрос решает только проблему сохранения только модели без конвейера предварительной обработки - Я хочу также сохранить конвейер предварительной обработки -

Как сохранить модель Scikit-Learn-Keras в файле постоянства (pickle / hd5 / json / yaml)

@ danyfang помог найти этот вопрос

как сохранить дисциплину scikit-learn с регрессором keras внутри на диск?

Проблема в том, что конвейер хранится в виде файла .pkl отдельно. Так что нужно посмотреть, как pk1 преобразуется в pmml

...