最先进的音乐标记模型项目教程
sota-music-tagging-models 项目地址: https://gitcode.com/gh_mirrors/so/sota-music-tagging-models
1. 项目介绍
本项目是基于PyTorch框架实现的一系列最先进的音乐标记模型,这些模型能够对音乐音频进行自动标记。项目包含了多种不同的模型架构,如FCN、Musicnn、Sample-level CNN、CRNN等,旨在提供不同的解决方案,以适应各种规模的数据集和不同的性能需求。
2. 项目快速启动
环境准备
首先,您需要创建一个Python虚拟环境并安装必要的依赖:
conda create -n YOUR_ENV_NAME python=3.7
conda activate YOUR_ENV_NAME
pip install -r requirements.txt
数据预处理
将音频文件转换为.npy格式,以便模型可以读取:
cd preprocessing/
python -u mtat_read.py run YOUR_DATA_PATH
模型训练
进入训练目录,开始模型的训练:
cd training/
python -u main.py --data_path YOUR_DATA_PATH
您可以通过以下选项调整训练过程:
--num_workers
: 设置用于数据加载的子进程数。--dataset
: 选择数据集,如'mtat', 'msd', 'jamendo'。--model_type
: 选择模型类型,如fcn
,musicnn
,crnn
等。--n_epochs
: 设置训练的总轮数。--batch_size
: 设置每个批次的样本数。--lr
: 设置学习率。--use_tensorboard
: 是否使用Tensorboard进行可视化。--model_save_path
: 模型保存的路径。--model_load_path
: 加载预训练模型的路径。--data_path
: 数据集的路径。--log_step
: 设置日志记录的步数。
模型评估
训练完成后,您可以通过以下命令对模型进行评估:
cd training/
python -u eval.py --data_path YOUR_DATA_PATH
同样,您可以通过上述的选项来调整评估过程。
3. 应用案例和最佳实践
- 小数据集: 对于相对较小的数据集,建议使用Musicnn模型,它利用了领域知识,能够提供更好的性能。
- 简单高效的模型: 如果您需要一个简单但性能最好的模型,可以选择Short-chunk CNN带有残差连接的模型。
- 通用性强的模型: 如果需要模型具有更强的泛化能力,建议使用Harmonic CNN。
4. 典型生态项目
本项目作为音乐自动标记的开源项目,可以与其他音乐信息检索、音频处理相关项目结合使用,例如音乐推荐系统、音乐风格分析工具等,共同构建一个更加完善的音乐技术生态。
sota-music-tagging-models 项目地址: https://gitcode.com/gh_mirrors/so/sota-music-tagging-models