Сохранение Keras / Sklearn в python и загрузка сохраненной модели в тензор потока. js - PullRequest
0 голосов
/ 23 января 2020

У меня есть обученная модель SVL sklearn в формате .pkl и модель Keras .h5. Можно ли загрузить эти модели, используя tenorflow. js в браузере? Я делаю большую часть своего кодирования в python и не знаю, как работать с tenorflow. js Мой код сохранения модели выглядит следующим образом

from sklearn.externals import joblib 

joblib.dump(svc,'model.pkl') 
model = joblib.load('model.pkl')  
prediction = model.predict(X_test) 

#------------------------------------------------------------------

from keras.models import load_model

model.save('model.h5')  
model = load_model('my_model.h5')

1 Ответ

1 голос
/ 23 января 2020

Для развертывания вашей модели с tenorflow- js необходимо использовать tensorflowjs_converter, поэтому вам также необходимо установить зависимость tensorflowjs.

Вы можете сделать это в python через pip install tensorflowjs.

Затем вы преобразуете обученную модель с помощью этой операции в соответствии с вашими именами: tensorflowjs_converter --input_format=keras /tmp/model.h5 /tmp/tfjs_model, там последний путь является выходным путем результата преобразования.

Обратите внимание, что после преобразования вы получите модель. json (архитектура вашей модели) и список из N шардов (веса разделены на N шардов).

Затем в JavaScript вам понадобится функция tf.loadLayersModel(MODEL_URL), где MODEL_URL - это URL, указывающий на вашу модель. json. Убедитесь, что в том же месте с моделью. json также находятся осколки.

Поскольку это асинхронная операция (вы не хотите, чтобы ваша веб-страница блокировалась во время загрузки модели ), вам нужно использовать ключевое слово JavaScript await; следовательно await tf.loadLayersModel(MODEL_URL)

Пожалуйста, посмотрите на следующую ссылку, чтобы увидеть пример: https://www.tensorflow.org/js/guide/conversion

...