Загрузить модель с ML.NET, сохраненную с помощью keras - PullRequest
1 голос
/ 30 апреля 2019

У меня есть нейронная сеть, реализованная на Python с использованием Keras.После обучения я экспортировал модель и получил два файла: model.js и model.h5.Теперь я хочу классифицировать в реальном времени внутри проекта .NET и использовать для него обученную нейронную сеть.

Есть ли способ в ML.NET загрузить модель и обученные веса, экспортированные с помощью python, вобъект модели?

Я видел в документации [1], что предыдущая сохраненная модель может быть загружена, но, видимо, это хранилище в .zip, и я не смог найти формат (возможно, для создания сценария, которыйберет модель из python и «переводит» ее в модель ML.NET.

Очевидно, формат hdf5 является стандартным [2], есть способ загрузить его с помощью ML.NET?

[1] https://docs.microsoft.com/en-us/dotnet/machine-learning/how-to-guides/consuming-model-ml-net

[2] https://support.hdfgroup.org/HDF5/doc1.6/UG/10_Datasets.html

Ответы [ 2 ]

3 голосов
/ 01 мая 2019

ML.net поддерживает модели ONNX.

https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/DeepLearning_ObjectDetection_Onnx

Вы можете преобразовать свою модель kreas в модель ONNX с помощью WinMLTools

0 голосов
/ 03 мая 2019

Как упоминали Джихан Якар и Джон, решение состоит в том, чтобы преобразовать модель в ONNX.Я нашел хороший учебник, который объясняет, как это сделать:

https://fizzylogic.nl/2018/02/16/heres-why-microsoft-cognitive-toolkit-is-the-coolest-deep-learning-framework-around/

...