【音频分离】demucs V3的环境搭建及训练(window)

这篇具有很好参考价值的文章主要介绍了【音频分离】demucs V3的环境搭建及训练(window)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码下载

这是一个音频提取、分离的项目

一、环境搭建

(1)新建虚拟环境,并进入

conda create -n demucs python=3.8
activate demucs

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(2)安装pyTorch

到pyTorch官网选择对应配置
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

这个是我的配置

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(3)进入代码文件夹,批量安装包

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

d:
cd  D:\data\cqZhang\demucs-3
pip install -r requirements.txt

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(4)安装其他需要的包

pip install librosa

二、数据集准备

(1)下载数据集

使用Musdb HQ 数据集
获取路径有:
https://zenodo.org/record/3338373
https://www.kaggle.com/datasets/ayu055/musdb18hq

数据集可以放在“\checkpoint\defossez\datasets\musdbhq”路径下,
这与代码原来的位置应该是一致的

(2)修改配置参数

  1. The dset.musdb key inside conf/config.yaml.
  2. The variable MUSDB_PATH inside tools/automix.py.

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

我本来使用的是相对路径,但是他貌似找不到,后来改成绝对路径
其他的路径也一样,如果找不到,就要改成绝对路径

(3)创建微调数据集

原来的命令是export NUMBA_NUM_THREADS=1; python3 -m tools.automix,但它是linux上的命令,
将其改为set NUMBA_NUM_THREADS=1 && python -m tools.automix

运行结束会在项目目录下产生tmp文件夹,里面有新的数据集

修改 conf/config.yaml.中的 dset.musdb
修改 conf/dset/auto_mus.yaml 中的 dset.wavOUTPATH

(4)解压outputs.tar.gz

tar xvf outputs.tar.gz

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

三、训练

训练有三种命令
我只尝试了第二种

(1)默认,cpu

dora info -f 81de367c

this will show the hyper-parameter used by a specific XP.
Be careful some overrides might present twice, and the right most one will give you the right value for it.
这将显示特定XP使用的超参数。
请注意,有些覆盖可能会出现两次,最正确的一次将为您提供正确的值。

(2)默认,gpu

dora run -d -f 81de367c

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
注意:如果修改了数据集,要在目录下删除metadata文件夹,否则会出错。

run an XP with the hyper-parameters from XP 81de367c.
-d is for distributed, it will use all available GPUs.
使用XP 81de367c中的超参数运行XP。
-d是分布式的,它将使用所有可用的GPU。

(3)修改参数,gpu

dora run -d -f 81de367c hdemucs.channels=32

start from the config of XP 81de367c but change some hyper-params.
This will give you a new XP with a new signature (here 3fe9c332).
从XP 81de367c的配置开始,但更改了一些超参数。
这将为您提供一个带有新签名的新XP(此处为3fe9c332)。

四、推理

(1)模型导出

python -m tools.export 81de367c

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(2)模型评估

python -m tools.test_pretrained --repo ./release_models -n 81de367c

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(3)推理

python -m demucs --repo ./release_models -n 81de367c --mp3 D:\data\cqZhang\001.mp3

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

保存位置./separated
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

报错

(1)soundfile.LibsndfileError: Error opening ‘C:\Users\Lenovo\AppData\Local\Temp\tmps0ogpyqy.wav’: System error.

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

在linux上运行会创建一个临时文件,且程序退出后该临时文件会自动删除,
但是在windows上运行时,不能打开创建的临时文件,

Whether the name can be used to open the file a second time, while the named temporary file is still open, varies across platforms (it can be so used on Unix; it cannot on Windows NT or later).
在命名的临时文件仍然打开的情况下,该名称是否可以用于第二次打开文件,因平台而异(它可以在Unix上使用;不能在Windows NT或更高版本上使用)。

处理:
方法1. 更改临时文件保存方式(不保存到系统的临时文件夹里)
方法2. 增加参数:delete=False,手动删除

我采用方法2
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

执行后会报其他错误,这是另一个问题了

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(2)FileNotFoundError: [WinError 2] 系统找不到指定的文件。

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

出现这个错误,原因大概有三种:
1、先查看路径是否正确
2、再查看该文件是否存在
3、如果还没解决问题,最后很可能就是该命令在dos环境内无法使用

处理:
根据实际情况,我判断是第三种问题
到这里下载一个程序,
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
解压后放在项目目录下
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
已经成功执行了
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(3)TypeError: beat_track() takes 0 positional arguments but 1 positional argument (and 2 keyword-only arguments) were given

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

说是参数个数不匹配的问题,其实并不是

处理:

# 将下列代码
tempo, events = beat_track(drums.numpy(), units='time', sr=SR)

# 改为
tempo, events = beat_track(y=drums.numpy(), units='time', sr=SR)

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(4)TypeError: chroma_cqt() takes 0 positional arguments but 1 positional argument (and 1 keyword-only argument) were given

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

这个问题与上面那个问题一样
说是参数个数不匹配的问题,其实并不是

处理:

# 将下列代码
kr = torch.from_numpy(chroma_cqt(bass.numpy(), sr=SR))

# 改为
kr = torch.from_numpy(chroma_cqt(y = bass.numpy(), sr=SR))

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(5)numpy.core._exceptions._ArrayMemoryError: Unable to allocate 1.11 GiB for an array with shape (54134, 1377) and data type complex128

内存不足
这个我没有去思考如何减少内存的使用
也许减小数据集有效
我的处理方式是:换一台大内存的机器
它的内存需求不超过40g

(6)UserWarning:The version_base parameter is not specified.

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

这是一个版本警告,其实无关紧要
完整的警告如下:
D:\app\anaconda\envs\demucs\lib\site-packages\dora\hydra.py:279: UserWarning:
The version_base parameter is not specified.
Please specify a compatability version level, or None.
Will assume defaults for version 1.1
with initialize_config_dir(str(self.full_config_path), job_name=self._job_name,

处理:
加上参数version_base='1.1'
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(7)FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 0.

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
处理:
首先我在demucs/repitchsp.run()中加入参数shell=True
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
再次运行dora run -d -f 81de367c,报错信息出现变化
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
我运行命令soundstretch C:\\Users\\Lenovo\\AppData\\Local\\Temp\\tmps9ifi1_z.wav C:\\Users\\Lenovo\\AppData\\Local\\Temp\\tmp44v82njg.wav -pitch=2 -tempo=-3.226039,执行成功
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
说明文件其实是存在的,但是不知道为啥不能执行成功

第二处应该是编码格式的问题,我将raise RuntimeError(f"Could not change bpm because {error.stderr.decode('utf-8')}")修改为raise RuntimeError(f"Could not change bpm because {error.stderr.decode('gbk')}")解决

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
这可能就是报错的主要原因了
将soundstretch放到下面目录
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
运行出现一下结果,应该是没问题了。(内存不足修改batch_size)
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

(8)torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 562.00 MiB (GPU 0; 15.99 GiB total capacity; 14.06 GiB already allocated; 0 bytes free; 14.72 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
处理:
修改conf/config.yaml里的batch_size
默认64,但是我只有16G的显存,设置成4,目前恰好运行,不知道能不能运行到结束。
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
##(9)FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
处理:
方法1:修改重命名方式,改成强制覆盖
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
方法2:在重命名前删除已有文件
方法3:修改命名方式,比如加上日期时间

(9)WARNING:main:Model 81de367c has less epoch than expected (8 / 360)

【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离
模型没有训练够就想导出。

处理:
只是一个警告,不理会也没关系。
介意的话,把这里改小即可。
【音频分离】demucs V3的环境搭建及训练(window),# 音频分离,python,人工智能,音频分离

写在最后

写一半的时候有其他的事,停了大半个月
现在又有事了,匆匆忙忙把推理部分写上
后面有机会再补充
有机会尝试自己构造数据集训练文章来源地址https://www.toymoban.com/news/detail-621591.html

到了这里,关于【音频分离】demucs V3的环境搭建及训练(window)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于FiscoBcos v3.0.1 pro版的host网络模式集群环境搭建

    更新 最新版本系统软件 yum update -y 安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 可以查看所有仓库中所有docker版本,并选择特定版本安装 yum list docker-ce --showduplicates | sort -r 安装 yum install

    2024年02月03日
    浏览(34)
  • 基于Ubuntu20.04搭建OpenHarmony v3.0.6的qemu仿真环境

    出于个人兴趣,也出于对国产操作系统的好奇,想尝试一下以LiteOS为内核的Openharmony。但过程相当不顺利,主要原因是官方文档内容组织的不敢恭维。挺好的东西,不把说明书写好,让用户怎么用?我研究的核心问题就一个:如何在基于Qemu仿真的Openharmony中输出一个hello worl

    2024年02月09日
    浏览(41)
  • 【Python入门】Python搭建编程环境-安装Python3解释器(内含Windows版本、MacOS版本、Linux版本)

    前言 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函数、函数进阶、数据容器、文件操作、异常模块与包、数据可视化等,

    2024年02月03日
    浏览(68)
  • 若依框架环境的搭建(前后端不分离版)

            最近在做数据库课程设计,因为不想再用Java里面的GUI界面,想用Web页面来替代,但手写各个页面和增删改查这些重复性较高的模块属实作业量不小,所以,正好借此机会来学习一下早有耳闻的,号称后台管理系统神器—— 若依框架 ,下面先来总结一下环境部署与

    2024年02月04日
    浏览(57)
  • 30天精通Python(数据分析篇)——第1天:环境搭建之 Linux/Windows 下安装 Anaconda 和 Windows 下安装 DataSpell

    Anaconda 是适合数据分析的 Python 开发环境, 在全球有超过1100万用户(网上看到的数据), 它是一个开源的 Python 发行版本,其中包含了 conda(包管理和环境管理)、Python 等180多个科学包及其依赖项,本小节为大家进行其安装方法与常用命令。下载地址:https://www.anaconda.com/products

    2024年02月01日
    浏览(51)
  • AI视觉训练环境-【1】训练服务器搭建

            本文介绍搭建一套简单的AI视觉训练环境的过程,作者也是刚开始接触机器视觉,现将学习过程中的搭建过程梳理下来分享给大家。创作过程实属不易,如不喜欢请轻轻绕过,如有建议无比欢迎,只愿我们共同进步。 训练环境         训练服务器基于docker容器进行深

    2024年01月18日
    浏览(42)
  • 30天精通Python(数据分析篇)——第2天:环境搭建之Windows下安装Anaconda及使用介绍

    Anaconda 是适合数据分析的 Python 开发环境, 在全球有超过1100万用户(网上看到的数据) ,它是一个开源的 Python 发行版本,其中包含了 conda(包管理和环境管理)、Python 等180多个科学包及其依赖项,本文为大家进行详细介绍。 相信一些具有 Python 基础的读者,Python 开发环境已经搭

    2024年02月04日
    浏览(51)
  • 相机- yolo训练集 环境搭建

    YOLO(You Only Look Once)是一种流行的实时目标检测算法,它通过单个神经网络模型同时完成目标检测和定位。YOLO算法需要使用大量的标记数据进行训练,这些标记数据组成了YOLO数据集。 YOLO数据集是一个包含图像和相应标注的集合,用于训练和评估YOLO目标检测模型。每个图像

    2024年02月12日
    浏览(42)
  • [大模型] 搭建llama主流大模型训练环境

    :大模型,LLAMA,CUDA,模型训练 OS: Ubuntu 18.04 GPU: 4*A100(40G) (单机4卡A100 40G) CUDA: 11.7 cuDNN: 8.4.1 (需要登录官网后下载) nccl: 2.12.12 (需要登录官网后下载) python: 3.10 ( conda create -n vllm python=3.10 ) pytorch: 2.0.0+cu117 离线安装包地址 LLaMA-7B/13B/30B/65B模型: 下载地址,需要

    2024年02月09日
    浏览(42)
  • DINO在Windows环境下训练 自定义数据集

    论文: https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2203.03605 代码: https://link.zhihu.com/?target=https%3A//github.com/IDEACVR/DINO DINO: 让目标检测拥抱Transformer 主要特性: SOTA性能 :在大模型上以相对较小的数据和模型(~ 1/10相比之前SwinV2 )取得了最好的检测结果。在ResNet-50的标准setti

    2024年02月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包