Я попытался загрузить существующую модель глубокого обучения в свой ноутбук Python.Сначала я загружал архитектуру модели из файла «json», а затем загружал вес модели из файла «h5».Файл json читается, но я не могу преобразовать его в модель keras.
Я пытался использовать функцию 'model_from_json' из keras для преобразования загруженного файла json в модель keras, но я получаю, 'NoneType 'объект не имеет атрибута' get ', ошибка.Я попытался распечатать содержимое файла json, но он не пустой.
json_file = open('../input/seresnext-architecture/SEResNeXt.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
print(type(loaded_model_json))
loaded_model = model_from_json(loaded_model_json)
loaded_model.load_weights("../input/resnext/SEResNeXt.h5")
print("Loaded model from disk")
Строка 5, выдает ошибку Объект 'NoneType' не имеет атрибута 'get' , когдапеременная loaded_model_json не является пустой и имеет тип string.Я хочу знать, что может быть причиной ошибки.
AttributeError Traceback (most recent call last)
<ipython-input-22-0557160cb839> in <module>
13 json_file.close()
14 #print(type(loaded_model_json))
---> 15 loaded_model = model_from_json(loaded_model_json)
16
17 # load weights into new model
/opt/conda/lib/python3.6/site-packages/keras/engine/saving.py in model_from_json(json_string, custom_objects)
490 config = json.loads(json_string)
491 from ..layers import deserialize
--> 492 return deserialize(config, custom_objects=custom_objects)
493
494
/opt/conda/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')
/opt/conda/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'])
/opt/conda/lib/python3.6/site-packages/keras/engine/network.py in from_config(cls, config, custom_objects)
1020 # First, we create all layers and enqueue nodes to be processed
1021 for layer_data in config['layers']:
-> 1022 process_layer(layer_data)
1023 # Then we process nodes in order of layer depth.
1024 # Nodes that cannot yet be processed (if the inbound node
/opt/conda/lib/python3.6/site-packages/keras/engine/network.py in process_layer(layer_data)
1006
1007 layer = deserialize_layer(layer_data,
-> 1008 custom_objects=custom_objects)
1009 created_layers[layer_name] = layer
1010
/opt/conda/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')
/opt/conda/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'])
/opt/conda/lib/python3.6/site-packages/keras/layers/core.py in from_config(cls, config, custom_objects)
730 config['function'],
731 custom_objects=custom_objects,
--> 732 printable_module_name='function in Lambda layer')
733 elif function_type == 'lambda':
734 # Unsafe deserialization from bytecode
/opt/conda/lib/python3.6/site-packages/keras/utils/generic_utils.py in deserialize_keras_object(identifier, module_objects, custom_objects, printable_module_name)
160 fn = _GLOBAL_CUSTOM_OBJECTS[function_name]
161 else:
--> 162 fn = module_objects.get(function_name)
163 if fn is None:
164 raise ValueError('Unknown ' + printable_module_name +
AttributeError: 'NoneType' object has no attribute 'get'