我想通过以下代码设计一个 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)
我能为它做什么?
如何解决我的错误?