0 votes
1 view
in Machine Learning by (12.5k points)

I trained my CNN (VGG) through google colab and generated .h5 file. Now problem is, I can predict my output successfully through google colab but when i download that .h5 trained model file and try to predict output on my laptop, I am getting error when loading the model.

Here is the code:

import tensorflow as tf

from tensorflow import keras

import h5py

# Initialization

loaded_model = keras.models.load_model('./train_personCount_model.h5')

And the error:

ValueError: Unknown initializer: GlorotUniform

1 Answer

0 votes
by (32.7k points)

It seems like a serialization bug in keras. If you wrap your load_model with the below CustomObjectScope method, it would work fine.

For example:

import keras

from keras.models import load_model

from keras.utils import CustomObjectScope

from keras.initializers import glorot_uniform

with CustomObjectScope({'GlorotUniform': glorot_uniform()}):

        model = load_model('imdb_mlp_model.h5')

Hope this answer helps you!

...