我有一个具有两个输入的模型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
)
就是这样,现在您可以使用新型号并改为训练。