AudioCraft Plus 项目安装及测试

今天搞了一天,现在已经头晕眼花了要,但项目终于成功安装,有必要记录一下。

项目地址audiocraft_plus – github

安装步骤如下:
1、在annconda中新建一个虚拟环境,名称自己定,我这里是craft
conda create -n craft python=3.10.6

2、到项目目录下执行安装所有需要的包
cd audiocraft_plus-main
pip install -r requirements.txt -i “https://pypi.tuna.tsinghua.edu.cn/simple/”

3、如果前面两步没有问题的话,直接执行
python app.py

(craft) fangg@fangg-MS-7B78:~/tts/audiocraft_plus-main$ python app.py 
False
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

注:如果第2点没有执行,则可能报taglib包找不到的异常,我之前使用audiocraft原项目安装时就是这样。

4、此时,项目已经启动成功!嗯,可以打开上面的链接地址了 本地测试
请添加图片描述
如果你以为这样就大功告成,那你就大错特错了……真要这样,我这文章都不会写。好吧,但我也看到有人写了,就是什么问题都没有的那种,我想是因为他应该是能全局科学上网的原因,中间下载的模型都没有出现问题,这里就不深入探究了。

5、下载模型,我这里下载的是最大的那个musicgen-large(我显卡内存是12G的,所以使用最大这个没有问题,如果显存小的就需要下载其他小些的模型,在API这里其他模型),这个需要科学上网才能下载,如果不知道怎么科学上网,就使用‘iGG谷歌学术助手’

其实,如果你在第4步测试的话会看到后台有加载模型的提示

(craft) fangg@fangg-MS-7B78:~/tts/audiocraft_plus-main$ python app.py 
False
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Loading model GrandaddyShmax/musicgen-large

默认是从 audiocraft_plus-main/GrandaddyShmax/musicgen-large 加载模型,这个是在代码里面写的,在audiocraft_plus-main/audiocraft/models/musicgen.py文件中有指定

    @staticmethod
    def get_pretrained(name: str = 'GrandaddyShmax/musicgen-melody', device=None):
        """Return pretrained model, we provide four models:
        - facebook/musicgen-small (300M), text to music,
          # see: https://huggingface.co/facebook/musicgen-small
        - facebook/musicgen-medium (1.5B), text to music,
          # see: https://huggingface.co/facebook/musicgen-medium
        - facebook/musicgen-melody (1.5B) text to music and text+melody to music,
          # see: https://huggingface.co/facebook/musicgen-melody
        - facebook/musicgen-large (3.3B), text to music,
          # see: https://huggingface.co/facebook/musicgen-large
        """
        if device is None:
            if torch.cuda.device_count():
                device = 'cuda'

所以,我们需要在项目目录下手动创建一个GrandaddyShmax文件侠(指定别的路径的话,需要在调用地方改,目前我没有找到),然后在GrandaddyShmax文件侠里面创建一个musicgen-large文件侠,下载的模型文件就放里面
请添加图片描述
我这里下载了很多个文件,但好像只需要下载config.json和state_dict.bin两个就可以了。

到这里,如果继续测试的话应该还会报个t5-base模型无法下载的异常信息:

  File "/home/fangg/tts/audiocraft_plus-main/audiocraft/models/loaders.py", line 111, in load_lm_model
    model = builders.get_lm_model(cfg)
  File "/home/fangg/tts/audiocraft_plus-main/audiocraft/models/builders.py", line 97, in get_lm_model
    condition_provider = get_conditioner_provider(kwargs["dim"], cfg).to(cfg.device)
  File "/home/fangg/tts/audiocraft_plus-main/audiocraft/models/builders.py", line 137, in get_conditioner_provider
    conditioners[str(cond)] = T5Conditioner(output_dim=output_dim, device=device, **model_args)
  File "/home/fangg/tts/audiocraft_plus-main/audiocraft/modules/conditioners.py", line 416, in __init__
    self.t5_tokenizer = T5Tokenizer.from_pretrained(name)
  File "/home/fangg/.local/lib/python3.10/site-packages/transformers/tokenization_utils_base.py", line 2070, in from_pretrained
    raise EnvironmentError(
OSError: Can't load tokenizer for 't5-base'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 't5-base' is the correct path to a directory containing all relevant files for a T5Tokenizer tokenizer.

这是因为t5-base模型没有下载成功所致,t5-base模型下载,这里需要在项目目录下创建t5-base文件侠,然后下载config.json和model.safetensors两个文件,我这里下载了多个
请添加图片描述
注:我以为t5-base模型是和其他模型一样放在GrandaddyShmax目录下,但测试时一直报t5-base模型没有下载,我还以为我下载错了,我又在百度查了好久但都没有解决,最后,我测试了调用方法才知道t5-base模型是从项目目录下读取的,无语……

至此,启动测试就能成功了

请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值