【问题标题】:Audio processing Conv1D keras音频处理 Conv1D keras
【发布时间】:2019-10-31 13:14:16
【问题描述】:

我正在使用音频分类学习 Keras,实际上,我正在使用 Keras 实现从 https://github.com/deepsound-project/genre-recognition/blob/master/train_model.py 修改的代码。

数据集的形状是

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 )

The accuracy graph

Loss graph

我不明白,为什么 val_acc 在 70% 的范围内。我尝试修改模型架构,包括优化器,但没有任何改进。

还有,loss和val_loss之间有很大的区别是不是很好。

如何将准确率提高到80以上...任何帮助...

谢谢

【问题讨论】:

  • 如果您将耐心增加到 20 并删除 red_lr 会发生什么?
  • 我检查了,它返回 val_acc 为 52%...

标签: python tensorflow keras neural-network conv-neural-network


【解决方案1】:

我找到了,我使用 Keras 的 concatenate 函数来连接所有卷积层,它提供了最佳性能。

【讨论】:

    猜你喜欢
    • 2018-05-10
    • 1970-01-01
    • 2021-12-31
    • 2019-01-31
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 2022-07-11
    • 2019-10-23
    相关资源
    最近更新 更多