Keras MobileNet не может сохранить ранее сохраненный файл модели h5 - PullRequest
0 голосов
/ 10 мая 2018

Я только что натренировал модель MobileNet с кератами (используя тензор потока в качестве бэкэнда). Когда тренировка была закончена, я сохранил модель с

# serialize weights to HDF5
model_with_weights = os.path.join(model_dir, "model.h5")
model.save(model_with_weights)
print("Saved model to disk")

Теперь я бы хотел перезагрузить ту же модель ... поэтому я попробовал это (модель находится в правильном каталоге)

model = load_model('model.h5', custom_objects={
                       'relu6': keras.applications.mobilenet.relu6,
                       'DepthwiseConv2D': keras.applications.mobilenet.DepthwiseConv2D})

Но я получил эту ошибку, и я не знаю, что делать, чтобы загрузить предыдущую обученную модель.

File "load_model.py", line 79, in <module>
    'relu6': keras.applications.mobilenet.relu6})
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/engine/saving.py", line 241, in load_model
    model = model_from_config(model_config, custom_objects=custom_objects)
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/engine/saving.py", line 318, in model_from_config
    return deserialize(config, custom_objects=custom_objects)
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/layers/serialization.py", line 64, in deserialize
    printable_module_name='layer')
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/utils/generic_utils.py", line 173, in deserialize_keras_object
    list(custom_objects.items())))
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/engine/network.py", line 1098, in from_config
    process_node(layer, node_data)
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/tensorflow/python/keras/_impl/keras/engine/network.py", line 1056, in process_node
    layer(input_tensors[0], **kwargs)
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/keras/engine/topology.py", line 606, in __call__
    previous_mask = _collect_previous_mask(inputs)
  File "/home/seba/Projects/venv3.5/lib/python3.5/site-packages/keras/engine/topology.py", line 2834, in _collect_previous_mask
    mask = node.output_masks[tensor_index]
AttributeError: 'Node' object has no attribute 'output_masks'

Может ли кто-нибудь указать мне правильное направление?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...