【发布时间】:2023-01-10 01:14:44
【问题描述】:
我正在尝试实现 CNN 架构,但是输出的形状存在问题。集合的形状如下:
x_train.shape, y_train.shape, x_test.shape, y_test.shape
((1203, 162, 1), (1203, 7), (402, 162, 1), (402, 7))
架构的设置如下:
input_x = tf.keras.layers.Input(shape = (x_train.shape[1],1))
conv_1 = tf.keras.layers.Conv1D(filters=16,kernel_size=3,padding="same",activation="relu")(input_x)
pool_1 = tf.keras.layers.MaxPooling1D(2)(conv_1)
conv_2 = tf.keras.layers.Conv1D(filters=32,kernel_size=3,padding="same",activation="relu")(pool_1)
pool_2 = tf.keras.layers.MaxPooling1D(2)(conv_2)
flatten = tf.keras.layers.Flatten()(pool_2)
dense = tf.keras.layers.Dense(512, activation="relu")(flatten)
fb = tf.keras.layers.Dropout(0.4)(dense)
fb = tf.keras.layers.Dense(512, activation="relu")(fb)
fb = tf.keras.layers.Dropout(0.4)(fb)
output = tf.keras.layers.Dense(8, activation="softmax")(fb)
model_branching_summed = tf.keras.models.Model(inputs=input_x, outputs=output)
model_branching_summed.summary()
model_branching_summed.compile(optimizer=SGD(learning_rate=0.01 , momentum=0.8), loss='categorical_crossentropy', metrics= ['accuracy'])
history=model_branching_summed.fit(x_train, y_train, batch_size=128, epochs=100, validation_data=(x_test, y_test), 回调=[rlrp])
但是当我运行模型时,它给了我以下错误:
ValueError Traceback(最后一次调用) 单元格输入 [192],第 5 行 1 rlrp = ReduceLROnPlateau(monitor='loss', factor=0.4, verbose=0, patience=2,min_lr=0.0001) 2 #(min_lr=0.000001) ----> 5 history=model_branching_summed.fit(x_train, y_train, batch_size=128, epochs=100, validation_data=(x_test, y_test), 回调=[rlrp])
ValueError:形状(无,7)和(无,8)不兼容
有人可以帮我知道错误在哪里吗?
【问题讨论】:
标签: python tensorflow machine-learning neural-network conv-neural-network