BiLSTM-CNN模型结构

问题描述 投票:0回答:0

我想通过以下代码设计一个 BiLstm-Alexnet 模型:

模型=顺序() model.add(重塑((450,2,2),input_shape=(900,1,2))) model.add(Conv2D(456, kernel_size=(11,1), strides=(1,1), padding="same", activation="relu", kernel_initializer="he_normal", kernel_regularizer=l2(weight), bias_regularizer=l2(weight),input_shape=(900,1,2))) model.add(批量归一化()) model.add(MaxPooling2D(pool_size=(3,1))) model.add(Conv2D(256, kernel_size=(5,1), strides=1, padding="same", activation="relu", kernel_initializer="he_normal", kernel_regularizer=l2(weight), bias_regularizer=l2(weight))) model.add(批量归一化()) model.add(MaxPooling2D(pool_size=(3,1)))
model.add(Conv2D(384, kernel_size=(3,1), strides=(1,1), padding="same", activation="relu", kernel_initializer="he_normal", kernel_regularizer=l2(weight), bias_regularizer=l2(weight))) model.add(批量归一化()) model.add(Conv2D(384, kernel_size=(3,1), strides=1, padding="same", activation="relu", kernel_initializer="he_normal", kernel_regularizer=l2(weight), bias_regularizer=l2(weight))) model.add(批量归一化()) model.add(Conv2D(256, kernel_size=(3,1), strides=1, padding="same", activation="relu", kernel_initializer="he_normal", kernel_regularizer=l2(weight), bias_regularizer=l2(weight))) model.add(批量归一化()) model.add(MaxPooling2D(pool_size=(3,1),strides=(2,1)))

model.add(Permute((2,1,3)))
#.add(Embedding(max_features, embedding_size, input_length=maxlen*max_charlen))
model.add(Reshape((2,4*256))) 

model.add(Bidirectional(LSTM(64, return_sequences=True)))
model.add(Flatten())
model.add(Dense(18, activation="relu"))

model.add(Dense(2, activation="softmax"))
return model

我有一个问题。它是: ValueError:调用层“reshape_5”(类型 Reshape)时遇到异常。

新数组的总大小必须不变,input_shape = [2, 24, 256], output_shape = [2, 1024]

“reshape_5”层接收的调用参数(类型 Reshape): • inputs=tf.Tensor(shape=(None, 2, 24, 256), dtype=float32)

我能为它做什么?

如何解决我的错误?

python reshape bilstm
© www.soinside.com 2019 - 2024. All rights reserved.