littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于PyTorch的DCASE2023任务1音频分类系统

项目简介

本项目是基于PyTorch框架开发的音频分类系统,专为DCASE2023任务1打造。它覆盖了从数据处理、模型训练到模型评估的完整流程,支持多种音频特征提取方法与深度学习模型,旨在实现高效、精准的音频分类,适用于城市声学场景的识别任务。

项目的主要特性和功能

  • 数据处理:可进行音频文件拼接、频谱特征提取、数据增强(如Mixup和MixStyle),还能制作和读取数据集。
  • 模型架构:支持ACDNet、CP_ResNet、MobileViT和PaSST等多种深度学习模型,并提供模型复杂度计算工具。
  • 训练过程:定义普通训练和知识蒸馏训练过程,支持自定义优化器和学习率调度器。
  • 模型压缩:提供模型压缩策略,如量化(施工中)。
  • 预训练模型:提供预训练模型参数,支持在特定数据集上微调。

安装使用步骤

1. 环境配置

确保安装所有必要的Python包,使用以下命令安装: bash pip install -r requirements.txt 此外,需安装hear21passt库。

2. 数据准备

2.1 制作数据集

使用dataset目录下的files_reassembled.ipynbmeta_csv_reassembled.ipynb制作reassembled数据集,完成后在configs/dataconfig.py中修改数据集路径。

2.2 制作h5格式的数据集

根据需求选择原版或reassembled版数据集,修改configs/dataconfig.py中的配置,运行datagenerator.py生成h5格式的数据集。

3. 模型训练

3.1 获取模型

model_src目录导入所需模型,如ACDNet、CP_ResNet等,并加载到设备上。 python from model_src.acdnet import GetACDNetModel device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') acdnet = GetACDNetModel(mixstyle_conf=mixstyle_config, input_len=32000, nclass=10, sr=32000).to(device)

3.2 训练模型

修改configs目录下的配置文件,指定数据集、模型、优化器和学习率调度器等参数,运行run/run.py开始训练。 bash python run/run.py

4. 模型评估

训练完成后,模型参数保存在model_weights目录,训练日志保存在logs目录,训练图表保存在figure目录。使用测试脚本run/testscript.py进行模型评估。

5. 自定义扩展

  • 新增数据集:在dataset/datagenerator.py中添加新的数据集类,并修改configs/dataconfig.py
  • 新增数据增强:在dataset/augmentation.py中添加新的数据增强策略。
  • 新增模型:在model_src目录下添加新的模型实现,并将使用的模块放到model_src/module目录下。
  • 新增优化器:在optim目录下添加新的优化器或学习率调度器。
  • 新增训练行为:在train目录下添加新的训练行为,如对抗训练或知识蒸馏。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】