Part-II : Converting(Saving) Keras Model as a single HDF5 (.h5) file

4 Part blog series : Documenting the learnings of my experimentation on Object Detection using Keras, Tensorflow

Karan Singh
2 min readMar 28, 2021
Photo by Tamanna Rumee on Unsplash

If you have read the part-I blog ,you can re-collect that we had used wpod-net pre-trained model with separate model weight (*.h5) and model structure (*.json) files. Both these files were loaded into the python program in-order to detect number plates.

In this blog post we will learn how to convert (save) keras model weight and model structure files into a single Keras *.h5 file

Introduction

A Keras model consists of multiple components:

  • The architecture or configuration, which specifies what layers the model contain, and how they’re connected, typically in jsonor YAML format.
  • A set of weights values (the “state of the model”), in .h5 format
  • An optimiser (defined by compiling the model).

The Keras API makes it possible to save all of these pieces to disk at once. Saving everything into a single archive in the TensorFlow SavedModel format (or in the older Keras H5 format).

Implementation

If you like to follow along, refer to 2_convert_keras_model_to_single_file.ipynb jupyter notebook from my repository. Here are the implementation steps, the following program loads up keras model weight and model configuration files and saves them into a single model file by using model.save("models/wpod-net_all_io_one.h5") line.

  • Once keras model is saved as a single file, list the models directory. Here you will find the file wpod_net_all_in_one.h5
  • Finally, let’s use this newly created keras model file and try to detect license plate.
  • You should get results like below

Summary

  • In this blog we have learned how to save keras model file *.h5 and the configuration file *.json as one file *.h5 keras model file
  • We have also verified that, this new all-in-one model file is able to detect number plate from the image, as we wanted
  • In the next blog , we will convert this keras model all-in-one file into tensorflow (*.pb) frozengraph model file and its text representation

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Karan Singh
Karan Singh

Written by Karan Singh

Co-Founder & CTO @ Scogo AI ♦ I Love to solve problems using Tech

Responses (1)

Write a response

How can I load a model in saved_model format and convert it to a .keras model?