Я пытаюсь сделать модель с двумя выходами, один для классификации и другой для регрессии. Я использую предварительно обученный VGG16 от Keras в качестве экстрактора сверточных функций. Но когда я пытаюсь построить следующий выравнивающий слой в обеих выходных последовательностях, я получаю ошибку, что вход не является тензором. Как мне убедиться, что я подаю только последний слой сверточного основания в качестве входных данных для следующих слоев?
conv_base = VGG16(include_top = False,
weights = 'imagenet')
conv_base.trainable = False
with tf.variable_scope('classification_head', reuse=tf.AUTO_REUSE):
x = Flatten()(conv_base.layers[-1])
x = Dense()(x)
Ошибка:
ValueError: Слой flatten_1 был вызван со входом, который не является символическим тензором. Полученный тип: класс 'keras.layers.pooling.MaxPooling2D'. Полный ввод: [keras.layers.pooling.MaxPooling2D объект в 0xc2855c9b0]. Все входы в слой должны быть тензорами.