使用内部层的输出来适合KERAS模型



我有一个具有两个输入的模型m:x_train1,x_train2。通过重大转换后,将这些输入连接到一个单个数组x1_x2中。稍后,将其插入一个自动编码器,其中应为x1_x2。但是,当我尝试适合模型时,我会收到以下错误:

valueerror:将符号张量馈送到模型时,我们希望thetensor具有静态批量尺寸。得到形状的张量:(无,2080)

我知道问题对我如何指定预期输出的方式解决了问题。我能够使用虚拟阵列(例如NP.Zeros((96,2080)))运行代码,但不能通过设置内部图层的输出。

我做以下操作以适合模型:

autoencoder.fit([x_train1, x_train2], 
                autoencoder.layers[-7].output,
                epochs=50,
                batch_size=8,
                shuffle=True,
                validation_split=0.2)

如何使Keras了解预期的输出应该是具有形状的内部层的输出(number_of_input_images,2080)?

我会做以下操作:从keras导入Model类并创建一个其他模型。

from tensorflow.python.keras.models import Model
# model = your existing model
new_model = Model(
  inputs = model.input,
  outputs = model.get_layer(name_of_desired_output_layer).output
)

就是这样,现在您可以使用新型号并改为训练。

相关内容

  • 没有找到相关文章

最新更新