1

我不知道我的代码有什么问题,或者 keras 中是否有任何错误?从磁盘加载我保存的模型时,我收到此错误:

__init__() got multiple values for keyword argument 'filters' TypeError

这是我保存模型和加载回 shell 的代码

import h5py
keras_mnist_model = 'mobilenet_model_keras_.h5'
m.save(filepath = keras_mnist_model)

从磁盘加载模型的代码:

# from tensorflow.keras.models import load_model
from keras.models import load_model
model = load_model(filepath = keras_mnist_model)

完整的错误信息:

TypeError                                 Traceback (most recent call last)
<ipython-input-32-8b3b788ba66d> in <module>
      1 # from tensorflow.keras.models import load_model
      2 from keras.models import load_model
----> 3 model = load_model(filepath = keras_mnist_model)

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/engine/saving.py in load_model(filepath, custom_objects, compile)
    417 
    418     # Arguments
--> 419         group: A pointer to a HDF5 group.
    420         name: A name of the attributes to load.
    421 

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/engine/saving.py in _deserialize_model(f, custom_objects, compile)
    223         """Handles custom object lookup.
    224 
--> 225         # Arguments
    226             obj: object, dict, or list.
    227 

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/engine/saving.py in model_from_config(config, custom_objects)
    456         save_attributes_to_hdf5_group(g, 'weight_names', weight_names)
    457         for name, val in zip(weight_names, weight_values):
--> 458             param_dset = g.create_dataset(name, val.shape,
    459                                           dtype=val.dtype)
    460             if not val.shape:

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/layers/__init__.py in deserialize(config, custom_objects)
     53                                     module_objects=globs,
     54                                     custom_objects=custom_objects,
---> 55                                     printable_module_name='layer')

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    143                     config['config'],
    144                     custom_objects=dict(list(_GLOBAL_CUSTOM_OBJECTS.items()) +
--> 145                                         list(custom_objects.items())))
    146             with CustomObjectScope(custom_objects):
    147                 return cls.from_config(config['config'])

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/engine/network.py in from_config(cls, config, custom_objects)
   1020         # does not yet exist) are re-enqueued, and the process
   1021         # is repeated until all nodes are processed.
-> 1022         while unprocessed_nodes:
   1023             for layer_data in config['layers']:
   1024                 layer = created_layers[layer_data['name']]

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/engine/network.py in process_layer(layer_data)
   1006             # Gather layer inputs.
   1007             inbound_nodes_data = layer_data['inbound_nodes']
-> 1008             for node_data in inbound_nodes_data:
   1009                 # We don't process nodes (i.e. make layer calls)
   1010                 # on the fly because the inbound node may not yet exist,

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/layers/__init__.py in deserialize(config, custom_objects)
     53                                     module_objects=globs,
     54                                     custom_objects=custom_objects,
---> 55                                     printable_module_name='layer')

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
    145                                         list(custom_objects.items())))
    146             with CustomObjectScope(custom_objects):
--> 147                 return cls.from_config(config['config'])
    148         else:
    149             # Then `cls` may be a function returning a class.

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/engine/base_layer.py in from_config(cls, config)
   1107             A layer instance.
   1108         """
-> 1109         return cls(**config)
   1110 
   1111     def count_params(self):

~/code/data-science/tflite_face_recognition/model/venv/lib/python3.6/site-packages/keras/layers/convolutional.py in __init__(self, kernel_size, strides, padding, depth_multiplier, data_format, activation, use_bias, depthwise_initializer, bias_initializer, depthwise_regularizer, bias_regularizer, activity_regularizer, depthwise_constraint, bias_constraint, **kwargs)
   1795             regularizer=self.depthwise_regularizer,
   1796             constraint=self.depthwise_constraint)
-> 1797 
   1798         if self.use_bias:
   1799             self.bias = self.add_weight(shape=(input_dim * self.depth_multiplier,),

TypeError: __init__() got multiple values for keyword argument 'filters'
4

0 回答 0