Я новичок в tenorflow Keras.Я строю CNN, чтобы тренироваться на моем 1D входе.Я ищу помощь относительно входных размеров слоев Conv1D и MaxPooling1D.
В данный момент функция обычно выглядит примерно так: [1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Точно так же, он использует ярлык «одна горячая», как это: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
У меня есть 80 таких пар.
Они разделены на 50-50 (для обучения и проверки), а функции изменены на (1, 2080, 1), так какnumpy говорит, что мой массив имеет размер 2080.
num_classes = 10
model = keras.Sequential()
model.add(keras.layers.InputLayer(input_shape=[2080,1]))
model.add(keras.layers.Conv1D(filters = 32, kernel_size=5, strides=1, padding ='same', activation='relu'))
model.add(keras.layers.MaxPooling1D(pool_size = (10), strides=(5),data_format='channels_first'))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(512, activation='relu'))
model.add(keras.layers.Dense(num_classes, activation='softmax'))
#model.summary()
Мой ввод успешно подается через InputLayer и Conv1D, я ожидал того же для остальных слоев.Однако возвращается следующая ошибка: ожидается, что плотность_1 будет иметь 2 измерения, но получен массив с формой (1, 40, 10)