我有麻煩抓住形狀輸入到網絡的第一層。這是我的架構:錯誤的維數。 Keras
# Model Hyperparameters
filter_sizes = [1, 2, 3, 4, 5]
num_filters = 10
dropout_prob = [0.5, 0.8]
hidden_dims = 50
model_input = Input(shape=(X.shape[0], X.shape[1]))
z = model_input
z = Dropout(0.5)(z)
# Convolutional block
conv_blocks = []
for fz in filter_sizes:
conv = Convolution1D(filters=num_filters,
kernel_size=fz,
padding="valid",
activation="relu",
strides=1)(z)
conv = MaxPooling1D(pool_size=2)(conv)
conv = Flatten()(conv)
conv_blocks.append(conv)
z = Concatenate()(conv_blocks) if len(conv_blocks) > 1 else conv_blocks[0]
z = Dropout(dropout_prob[1])(z)
z = Dense(hidden_dims, activation="relu")(z)
model_output = Dense(3, activation="softmax")(z)
model = Model(model_input, model_output)
model.fit(X[train], to_categorical(y[train], num_classes=3))
ValueError: Error when checking input: expected input_1 to have 3 dimensions, but got array with shape (12547, 261)
這是我的數據看起來像:
array([[ 1, 2, 3, ..., 0, 0, 0],
[ 5, 6, 7, ..., 0, 0, 0],
[15, 10, 4, ..., 0, 0, 0],
...,
[ 5, 6, 8, ..., 0, 0, 0],
[11, 10, 14, ..., 0, 0, 0],
[14, 8, 8, ..., 0, 0, 0]])
我有14640個樣品261點的尺寸