facebookresearch / audiocraft

Audiocraft is a library for audio processing and generation with deep learning. It features the state-of-the-art EnCodec audio compressor / tokenizer, along with MusicGen, a simple and controllable music generation LM with textual and melodic conditioning.
MIT License
20.17k stars 2.01k forks source link

AssertionError: MAGNeT v1 models support only xformers backend #407

Open yangqing-20 opened 5 months ago

yangqing-20 commented 5 months ago

I am trying to finetune Magnet with my own dataset for text2sound task. I use dataset from the example first.

This is my command:

dora run solver=magnet/audio_magnet_16khz  model/lm/model_scale=medium continue_from=//pretrained/facebook/audio-magnet-medium conditioner=text2sound dset=audio/example

The output is

[01-22 03:27:13][audiocraft.solvers.builders][INFO] - Loading audio data split train: /home/anna/code/repo/audiocraft/egs/example
[01-22 03:27:13][audiocraft.solvers.builders][INFO] - Loading audio data split valid: /home/anna/code/repo/audiocraft/egs/example
[01-22 03:27:13][audiocraft.solvers.builders][INFO] - Loading audio data split evaluate: /home/anna/code/repo/audiocraft/egs/example
[01-22 03:27:13][audiocraft.solvers.builders][INFO] - Loading audio data split generate: /home/anna/code/repo/audiocraft/egs/example
self.cfg.efficient_attention_backend: torch
Error executing job with overrides: ['solver=magnet/audio_magnet_16khz', 'model/lm/model_scale=medium', 'continue_from=//pretrained/facebook/audio-magnet-medium', 'conditioner=text2sound', 'dset=audio/example']
Traceback (most recent call last):
  File "/home/anna/code/repo/audiocraft/audiocraft/train.py", line 139, in main
    solver = get_solver(cfg)
  File "/home/anna/code/repo/audiocraft/audiocraft/train.py", line 48, in get_solver
    solver = solvers.get_solver(cfg)
  File "/home/anna/code/repo/audiocraft/audiocraft/solvers/builders.py", line 59, in get_solver
    return klass(cfg)  # type: ignore
  File "/home/anna/code/repo/audiocraft/audiocraft/solvers/magnet.py", line 26, in __init__
    super().__init__(cfg)
  File "/home/anna/code/repo/audiocraft/audiocraft/solvers/musicgen.py", line 39, in __init__
    super().__init__(cfg)
  File "/home/anna/code/repo/audiocraft/audiocraft/solvers/base.py", line 79, in __init__
    self.build_model()
  File "/home/anna/code/repo/audiocraft/audiocraft/solvers/magnet.py", line 51, in build_model
    assert self.cfg.efficient_attention_backend == "xformers", "MAGNeT v1 models support only xformers backend."
AssertionError: MAGNeT v1 models support only xformers backend.

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

How should I deal with it?