Как керас модель H5 работает в теории - PullRequest
0 голосов
/ 07 февраля 2019

После тренировки обученная модель будет сохранена в формате H5.Но я не знал, как этот файл H5 можно использовать в качестве классификатора для классификации новых данных.Как модель H5 работает в теории при классификации новых данных?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Хороший вопрос,

Сначала вы должны понять, что такое файл HDF5, потому что это существенно, если вы хотите получить ответ на свой вопрос, перейдите по этой ссылке: Что такое HDF5

знаю, просто знаю, что это немного сложный тип файлов, которые содержат всю необходимую информацию для модели, которую вы обучили.

, но это не исполняемый файл, поэтому его можно использовать только как вход для функциивместе с изображением, которое вы хотите классифицировать «после надлежащей предварительной обработки изображения»,

, затем из информации в файле HDF5 и изображения произойдет последовательность операций, затем будут возвращены вероятности классов какрезультат операций.

например, из среды глубокого обучения мы можем использовать model.h5 в веб-приложении, используя, например, tennsflow.js, и функция, ответственная за это, - "model.predict" from "Библиотека тензорного потока ".

этот исходный код в javascript поможет вам прояснить этот момент:Файл df5 был преобразован в JSON, потому что это поддерживаемый формат в tenorflow.js.

, если вы хотите узнать больше о tenorflow.js: плейлист youtube от deeplizard

также, как вы видите, мы можем конвертировать файлы HDF5 в файлы JSON, и это делает это более ясным, я думаю!

model = await tf.loadModel("model.json");

let tensor = tf.fromPixels(image)
    .resizeNearestNeighbor([224,224])
    .toFloat();

let predictions = await model.predict(tensor).data();
    let top5 = Array.from(predictions)
        .map(function (p, i) { // this is Array.map
            return {
                probability: p,
                className: CLASSES[i] // we are selecting the value from the obj
            };
}).sort(function (a, b)

Я надеюсь, что это было полезно, просто прочитайте статью, которую я упомянул, и многое из этого сделаетчувство.

0 голосов
/ 07 февраля 2019

Когда вы сохраняете вашу модель в виде h5-файла, вы сохраняете структуру модели, все ее параметры и дополнительную информацию, такую ​​как состояние вашего оптимизатора и так далее.Это просто эффективный способ сохранить огромное количество информации.Вы также можете использовать форматы файлов json или xml для этого.

Вы не можете классифицировать что-либо только с помощью этого файла (он не является исполняемым).Вы должны перестроить график как тензор потока из этого файла.Для этого вы просто используете функцию load_model () из keras, которая возвращает объект keras.models.Model.Затем вы можете использовать этот объект для классификации новых данных с помощью функции kerasвести прогноз ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...