Обработка аудио Conv1D keras - PullRequest
       11

Обработка аудио Conv1D keras

0 голосов
/ 31 октября 2019

Я изучаю Keras, используя аудиоклассификацию. На самом деле, я реализую код с модификацией из https://github.com/deepsound-project/genre-recognition/blob/master/train_model.py, используя Keras.

Форма набора данных

X_train shape = (800, 32, 1)
y_train shape = (800, 10)
X_test shape = (200, 32, 1)
y_test shape = (200, 10)

Модель

model = Sequential()

model.add(Conv1D(filters=256, kernel_size=5, input_shape=(32,1),     activation="relu"))
model.add(BatchNormalization(momentum=0.9))
model.add(MaxPooling1D(2))
model.add(Dropout(0.5))
model.add(Conv1D(filters=256, kernel_size=5, activation="relu"))
model.add(BatchNormalization(momentum=0.9))
model.add(MaxPooling1D(2))
model.add(Dropout(0.5))

model.add(Flatten())
model.add(Dense(128, activation="relu", ))
model.add(Dense(10, activation='softmax'))

model.compile(
    loss='categorical_crossentropy',
    optimizer = Adam(lr=0.001),
    metrics = ['accuracy'],
)
model.summary()

red_lr= ReduceLROnPlateau(monitor='val_loss',patience=2,verbose=2,factor=0.5,min_delta=0.01)
check=ModelCheckpoint(filepath=r'/content/drive/My Drive/Colab Notebooks/gen/cnn.hdf5', verbose=1, save_best_only = True)

History = model.fit(X_train,
                y_train,
                epochs=100,
                #batch_size=512,
                validation_data = (X_test, y_test),
                verbose = 2,
                callbacks=[check, red_lr],
                shuffle=True )

График точности

График потерь

Я не понимаю, почему val_accв диапазоне 70%. Я попытался изменить архитектуру модели, включая оптимизатор, но без улучшений.

И, хорошо ли иметь большую разницу между loss и val_loss.

, как повысить точность выше 80. .. любая помощь ...

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2019

Я нашел это, я использую функцию сцепления от Keras для объединения всех слоев свертки, и это дает наилучшую производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...