AWS Deeplens с Keras и моделью MXNet: ошибка ValueError для символа "данные" не найдена

У меня есть модель CNN, которую я сделал, используя Keras, используя MXNet в качестве бэкэнда. Я могу создавать, обучать и экспортировать модели без проблем. Однако, когда я попытался загрузить эту модель в DeepLens, я получил следующую ошибку:

ValueError: [91mYou created Module with Module(..., data_names=['data']) but input with name 'data' is not found in symbol.list_arguments(). Did you mean one of:
        /conv2d_1_input1
        conv2d_1/kernel1
        conv2d_1/bias1
        conv2d_2/kernel1
        conv2d_2/bias1
        conv2d_3/kernel1
        conv2d_3/bias1
        dense_1/kernel1
        dense_1/bias1
        dense_2/kernel1
        dense_2/bias1
        dense_3/kernel1
        dense_3/bias1[0m

Я никогда не приводил аргументов в пользу символа с именем data, Все остальные символы имеют смысл, потому что они были получены из моей модели. Я добавил весь код, связанный с созданием Keras CNN ниже.

model = Sequential()
model.add(Conv2D(8, (1,1), input_shape=inputShape))
model.add(Dropout(0.5))
model.add(Activation('relu'))

model.add(Conv2D(16, (1,1), padding='same'))
model.add(Dropout(0.5))
model.add(Activation('relu'))

model.add(Conv2D(32, (1,1), padding='same'))
model.add(Dropout(0.5))
model.add(Activation('relu'))

model.add(Flatten())
model.add(Dense(240))

model.add(Activation('relu'))
model.add(Dense(120))

model.add(Dense(2))
model.add(Activation('sigmoid'))

Есть ли способ обойти это или способ работать с этим, используя Keras с MXNet в качестве бэкэнда? Нужно ли запускать команду на Amazon Deeplens? Есть ли что-то, что я должен добавить в модель?

0 ответов

Проблема заключается в том, что имя по умолчанию для входного символа в MXNet data, В Keras кажется, что имя по умолчанию, используемое для входного символа: /conv2d_1_input1, Вы можете две вещи:

  • Переименовать /conv2d_1_input1 символ в вашем -symbol.json подать в data,
  • Я не очень знаком с тем, как управляется глубокий объектив, но если у вас есть доступ к коду, который делает: Module(..., data_names=['data']) заменить его на Module(..., data_names=['/conv2d_1_input1']) как в этом уроке
Другие вопросы по тегам