valentineday
valentineday

Reputation: 79

'Keras.models.load_model' cannot load model

I've made a audio detection model and saved it as h5 file. But when I load model and parameters, the error occurred.

I tried restarting spyder and saving model once again, but nothing changed.
This is the line that makes this 'TypeError'

model = load_model('.\\Data\\Keras_Model\\(19.07.30).h5')
TypeError: tuple indices must be integers or slices, not list

Here is my traceback


  File "<ipython-input-32-5bad2284b610>", line 1, in <module>
    runfile('C:/Project/Test.py', wdir='C:/Project')

  File "C:\Users\DSP\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 678, in runfile
    execfile(filename, namespace)

  File "C:\Users\DSP\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 106, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Project/Test.py", line 15, in <module>
    model = load_model('.\\Data\\Keras_Model\\(19.07.30).h5')

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\models.py", line 264, in load_model
    model = model_from_config(model_config, custom_objects=custom_objects)

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\models.py", line 341, in model_from_config
    return layer_module.deserialize(config, custom_objects=custom_objects)

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\layers\__init__.py", line 55, in deserialize
    printable_module_name='layer')

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\utils\generic_utils.py", line 144, in deserialize_keras_object
    list(custom_objects.items())))

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\engine\topology.py", line 2535, in from_config
    process_node(layer, node_data)

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\engine\topology.py", line 2492, in process_node
    layer(input_tensors[0], **kwargs)

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\engine\topology.py", line 592, in __call__
    self.build(input_shapes[0])

  File "C:\Users\DSP\Anaconda3\lib\site-packages\keras\layers\normalization.py", line 92, in build
    dim = input_shape[self.axis]

TypeError: tuple indices must be integers or slices, not list

This is my model

Input_Tr = Input(shape=(600, 128, 1), dtype = 'float', name = 'Input_Tr')

conv_layer1 = Conv2D(32, kernel_size = 3, strides = 1, padding = 'SAME')(Input_Tr)
batch_layer1 = BatchNormalization(axis=-1)(conv_layer1)
conv_layer1_out = Activation('relu')(batch_layer1)

pooling_layer1 = MaxPooling2D((1, 4))(conv_layer1_out)
dropout_layer1 = Dropout(0.5)(pooling_layer1)

conv_layer2 = Conv2D(64, kernel_size = 3, strides = 1, padding = 'SAME')(dropout_layer1)
batch_layer2 = BatchNormalization(axis=-1)(conv_layer2)
conv_layer2_out = Activation('relu')(batch_layer2)

pooling_layer2 = MaxPooling2D((1, 4))(conv_layer2_out)
dropout_layer2 = Dropout(0.5)(pooling_layer2)

reshape_layer3 = Reshape((600, 64*8))(dropout_layer2)
bidir_layer3 = Bidirectional(GRU(64, return_sequences = True, activation = 'tanh'))(reshape_layer3)
output = TimeDistributed(Dense(1, activation = 'sigmoid'))(bidir_layer3)

model = Model(inputs = [Input_Tr], outputs = [output])

adam = Adam(lr = 0.01, beta_1=0.9, beta_2=0.999,decay=0.0)
model.compile(loss="binary_crossentropy", optimizer = adam, metrics=["accuracy"])
model.fit(x_train, x_label, epochs = 30, batch_size = 30, validation_split = 0.1)

model.summary()

loss_and_metrics = model.evaluate(y_train, y_label, batch_size = 15)
print("evaluation Result")
print(loss_and_metrics)


model.save('.\\Data\\Keras_Model\\(19.07.30).h5')

What should I do in this situation.

Upvotes: 1

Views: 7035

Answers (2)

Dr. Snoopy
Dr. Snoopy

Reputation: 56357

This could happen because you trained the model using tf.keras but you are not loading it with the standalone keras, both modules aren't compatible and you should only use one of them for your whole pipeline.

Upvotes: 3

akhetos
akhetos

Reputation: 706

model = load_model('.\\Data\\Keras_Model/(19.07.30).h5')

Upvotes: 1

Related Questions