繁体   English   中英

ValueError:层模型需要 1 个输入,但它收到 3 个输入张量。 收到的输入:[

[英]ValueError: Layer model expects 1 input(s), but it received 3 input tensors. Inputs received: [<tf.Tensor

我正在尝试创建一个用于文本分析的 cnn 模型。 但是,当我定义模型时,出现以下错误

ValueError: Layer model expects 1 input(s), but it received 3 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, 1112) dtype=int32>, <tf.Tensor 'IteratorGetNext:1' shape=(None, 1112) dtype=int32>, <tf.Tensor 'IteratorGetNext:2' shape=(None, 1112) dtype=int32>]

由于我的输入层是一个 numpy 数组,因此我尝试更改大小,但这也不起作用。

trainX = expand_dims(trainX, -2)

代码:

def cnn(maxlen, embed_size, recurrent_units, dropout_rate, dense_size, nb_classes):
    input_layer = Input(shape=(maxlen, embed_size), )
    x = Dropout(dropout_rate)(input_layer)
    x = Conv1D(filters=recurrent_units, kernel_size=2, padding='same', activation='relu')(x)
    x = MaxPooling1D(pool_size=2)(x)
    x = Conv1D(filters=recurrent_units, kernel_size=2, padding='same', activation='relu')(x)
    x = MaxPooling1D(pool_size=2)(x)
    x = Conv1D(filters=recurrent_units, kernel_size=2, padding='same', activation='relu')(x)
    x = MaxPooling1D(pool_size=2)(x)
    x = GRU(recurrent_units)(x)
    x = Dropout(dropout_rate)(x)
    x = Dense(dense_size, activation="relu")(x)
    x = Dense(nb_classes, activation="sigmoid")(x)
    model = Model(inputs=input_layer, outputs=x)
    model.summary()
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model

模型:

parameters_cnn = {
    'embed_size': 300,
    'epoch': 30,
    'batch_size': 256,
    'dropout_rate': 0.3,
    'recurrent_dropout_rate': 0.3,
    'recurrent_units': 64,
    'dense_size': 32,
}

model = cnn(length, parameters_cnn['embed_size'],
                    parameters_cnn['recurrent_units'],
                    parameters_cnn['dropout_rate'],
                    parameters_cnn['dense_size'], 3)

拟合模型

model.fit([trainX, trainX, trainX], array(trainLabels), epochs=6, batch_size=16)

有没有人知道我可以尝试什么或知道我在哪里搞砸了?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM