/Audio-Classification

Neural Networks Final Project Instructions V1

Primary LanguageJupyter Notebook

多标签声音识别任务内容

《神经网络与深度学习》期末大作业

问题描述

  • 建立深度学习模型,对给定的测试音频文件,进行分类
  • 本次大作业提供了 20 个类别的训练数据和测试数据
  • 训练集说明:训练集包含 20 个类别,1300+ 音频文件(大部分音频时长 5s,有些音频片段不足 5s)
  • 测试集说明:
    • 测试集的每个音频文件时长为 5 秒,单个音频中可能是鸟叫声,也可能不包含任何训练集中的类别的声音。如果测试音频不包含训练集中的20个类别,则输出标签为0。
    • 测试集包含 2 个独立的子集(一个容易一些,一个难一些),需要对这两个子集分开测试并给出评价指标的数值。

问题求解

数据预处理

首先将每个ogg转换成具有高通滤波器的梅尔频谱图,然后将其转换成数据集(dataset)。

训练模型

使用 efficientnet-b3 模型进行对数据集进行预训练.

在每个训练周期中,函数会遍历训练数据,对每批数据进行前向传播、计算损失、反向传播和优化步骤。同时,它还会计算每个周期的损失和准确率,并保存最佳模型的权重。

在所有训练周期结束后,函数会保存最佳模型,并返回训练损失和最佳模型的权重。

验证模型

使用验证集对模型进行验证,计算模型的准确率和损失。

最终 acc 为 48.20%。

测试模型

将测试集中的音频文件转换成梅尔频谱图,然后使用训练好的模型进行预测。

Task

  • 成功跑通模型并提交结果
  • 将 ipynb 文件转换成 py 文件
  • 完善 README

Reference