AssertionError при загрузке модели VGG19 с использованием Keras (сначала каналов) с бэкэндом M XNet - PullRequest
0 голосов
/ 27 февраля 2020

Я получаю AssertError при загрузке модели VGG19 с использованием Keras (сначала каналы) с бэкэндом M XNet.

Как я установил M XNet и Keras:

pip install keras-mxnet
pip install mxnet-cu100

My keras. json file:

{
    "epsilon": 1e-07,
    "floatx": "float32",
    "backend": "mxnet",
    "image_data_format": "channels_first"
}

Код для загрузки модели VGG19:

from keras.applications import VGG19
v = VGG19(include_top=False, weights="imagenet", input_shape=(3, 224, 224))

Ожидаемый результат: можно загрузить предварительно обученную модель VGG19 без 3-х полностью подключенных слоев в верхняя часть сети.

Фактический результат: было выдано следующее AssertionError:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "[omitted]/lib/python3.5/site-packages/keras/applications/__init__.py", line 28, in wrapper
    return base_fun(*args, **kwargs)
  File "[omitted]/lib/python3.5/site-packages/keras/applications/vgg19.py", line 11, in VGG19
    return vgg19.VGG19(*args, **kwargs)
  File "[omitted]/lib/python3.5/site-packages/keras_applications/vgg19.py", line 222, in VGG19
    model.load_weights(weights_path)
  File "[omitted]/lib/python3.5/site-packages/keras/engine/network.py", line 1166, in load_weights
    f, self.layers, reshape=reshape)
  File "[omitted]/lib/python3.5/site-packages/keras/engine/saving.py", line 1135, in load_weights_from_hdf5_group
    K.batch_set_value(weight_value_tuples)
  File "[omitted]/lib/python3.5/site-packages/keras/backend/mxnet_backend.py", line 2524, in batch_set_value
    set_value(p, w)
  File "[omitted]/lib/python3.5/site-packages/keras/backend/mxnet_backend.py", line 2513, in set_value
    x.bind(mx.nd.array(value))
  File "[omitted]/lib/python3.5/site-packages/keras/backend/mxnet_backend.py", line 4348, in bind
    'Redefinition of variable %s' % self.name
AssertionError: Redefinition of variable block1_conv1/kernel2

Если я изменил image_data_format на channels_last и изменил input_shape на (224, 224, 3); или если я изменю бэкэнд Keras на tensorflow, тогда я могу загрузить модель как обычно. Что-то не так с моим кодом или есть какие-то настройки, которые я пропускаю?

My spe c:

  • Ubuntu 16.04.6 LTS
  • Python 3.5.2
  • керас-м xnet 2.2.4.2
  • м xnet -cu100 1.5.1.post0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...