WARNING:tensorflow:Functional model inputs must come from tf.keras.Input (thus holding past layer metadata), they cannot be the output of a previous non-Input layer. Here, a tensor specified as input to “discriminator” was not an Input tensor, it was generated by layer tf.identity.
我的错误
def build_discriminator_with_teacher(filters 16): inputs Input(shape input_shape, name dis_input ) x inputs z_teacher Input(shape (latent_dim,), name z_teacher ) z_teacher Dropout(rate 0.75)(z_teacher) z_embedding Dense(1024, activation linear , name z_embbding_dis )(z_teacher) #3层卷积 for i in range(3): filters * 2 x Conv2D(filters filters, kernel_size kernel_size, activation relu , strides 2, padding same )(x) x Flatten()(x) #(16*16*128--1024,对16*16*128层施加dropout) x Dropout(rate 0.2)(x) x Dense(1024,activation relu )(x) # 对z_embedding和x进行加和操作 x add([x,z_embedding]) x Dense(1,activation linear )(x) return Model(inputs [inputs,z_teacher], outputs x, name discriminator )
输入层的变量名不要在后面改了
应把z_teacher改为z_teacher_input



