Я пытаюсь использовать 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: невозможно преобразовать 1.0 в EagerTensor dtype int32