#python #tensorflow #machine-learning #keras #deep-learning
Вопрос:
У меня есть модель Xception.
Xception = tf.keras.applications.Xception(input_shape=(512, 512, 3), include_top=False)
Я объединил модель, чтобы изменить входной канал на 3.
input_layer = keras.Input(shape=(512, 512, 1), name="img_input")
x = layers.UpSampling3D(size=(1, 1, 3), name="output")(input_layer)
input_model = keras.Model(input_layer, x, name="input_model")
model = keras.Model(input_model, Xception, name="model")
однако у меня есть ошибка
Input tensors to a Functional must come from `tf.keras.Input`. Received: <tensorflow.python.keras.engine.functional.Functional object at 0x7f922942a690> (missing previous layer metadata).
Ответ №1:
Вам просто нужно правильно встроиться Xception
в вашу новую модель:
Xception = tf.keras.applications.Xception(input_shape=(512, 512, 3), include_top=False)
input_layer = tf.keras.Input(shape=(512, 512, 1), name="img_input")
x = tf.keras.layers.UpSampling3D(size=(1, 1, 3), name="upsampling")(input_layer)
output = Xception(x)
model = tf.keras.Model(input_layer, output, name="model")
Мы создаем новый Input
слой, затем выполняем апсэмплинг и в конце концов переходим все к Xception
Вот рабочий блокнот, если вам интересно