Невозможно преобразовать 1.0 в EagerTensor dtype int32

Я пытаюсь использовать keras для создания cnn и использовать SVM после плотного слоя cnn в качестве классификатора. Итак, я пытаюсь получить результат после плотного слоя.

model = Sequential()
model.add(Conv1D(filters=64, kernel_size=(5), input_shape=(12,800), strides=2, padding='valid', activation='relu'))
model.add(AveragePooling1D(pool_size=2,strides=2,padding='same'))

model.add(Flatten())
model.add(Dense(7 ,activation='softmax'))

model.compile(optimizer='adam',loss='mean_squared_error',metrics=['accuracy'])
model.summary()

Мой код для получения вывода после плотного слоя

inp = model.input                                           # input placeholder
outputs = [layer.output for layer in model.layers]          # all layer outputs
functor = k.function([inp, k.learning_phase()], outputs )   # evaluation function

# Testing
test = np.random.random(input_shape)[np.newaxis,...]
layer_outs = functor([test, 1.])

Но я получаю эту ошибку TypeError: Cannot convert 1.0 to EagerTensor of dtype int32


person anurag shrivastava    schedule 09.07.2020    source источник
comment
Измените 1. (число с плавающей запятой) на 1 (целое число)   -  person Dr. Snoopy    schedule 09.07.2020
comment
привет, если вы удалите k.learning_phase() и вызовете функцию, используя только тестовый ввод, тогда ваш пример будет работать отлично. На самом деле, K.learning_phase просто помогает определить, обучение это или тестирование, и вы можете установить его отдельно как K.set_learning_phase. Если вам нравится этот подход, я могу загрузить свой пример. Помните, что API для K.function принимает ввод, вывод, обновления, kwargs, как показано здесь tensorflow.org/api_docs/python/tf/keras/backend/function. Подробнее о K.function см. здесь функция"> stackoverflow.com/questions/48142181/. Лучший   -  person smile    schedule 09.07.2020
comment
Привет, если вы хотите отключить активное выполнение tf.compat.v1.disable_eager_execution(), тогда ваша модель также должна работать нормально. Лучший   -  person smile    schedule 09.07.2020