Мои данные - это 1-D данные, которые были предварительно обработаны.Первый код успешен.Второй код неверен.Данные имеют 2 класса.Во втором коде используется слой свертки, который имеет 2 ядра, что означает 2 класса, а не полный уровень соединения.Но я получил результат, в котором была только одна цель.
Я получил этот метод из статьи: https://arxiv.org/pdf/1412.6806v3.pdf
Это пример моих данных. введите описание изображения здесь
def conv_pool_cnn(model_input: Tensor) -> training.Model:
x = Conv1D(6, 5, activation='relu')(model_input)
x = AveragePooling1D(pool_size=2)(x)
x = Dropout(0.25)(x)
x = Conv1D(16, 5, activation='relu')(x)
x = AveragePooling1D(pool_size=2)(x)
x = Dropout(0.25)(x)
x = Flatten()(x)
x = Dense(128, activation='relu')(x)
x = Dropout(0.5)(x)
x = Dense(2, activation='softmax')(x)
model = Model(model_input, x, name='conv_pool_cnn')
return model
def conv_pool_cnn(model_input: Tensor) -> training.Model:
x = Conv1D(6, 5, activation='relu')(model_input)
x = Conv1D(6, 5, activation='relu')(x)
x = Conv1D(6, 5, activation='relu')(x)
x = MaxPooling1D(pool_size=2)(x)
x = Conv1D(16, 5, activation='relu')(x)
x = Conv1D(16, 5, activation='relu')(x)
x = Conv1D(16, 5, activation='relu')(x)
x = MaxPooling1D(pool_size=2)(x)
x = Conv1D(16, 5, activation='relu')(x)
x = Conv1D(16, 1, activation='relu')(x)
x = Conv1D(2, 1)(x)
x = GlobalAveragePooling1D()(x)
x = Activation(activation='softmax')(x)
model = Model(model_input, x, name='conv_pool_cnn')
return model
Это результат матрицы путаницы:
[[ 0 216]
[ 0 216]]
Я ожидаю, что результат будет успешным.