lucidrains / naturalspeech2-pytorch

Implementation of Natural Speech 2, Zero-shot Speech and Singing Synthesizer, in Pytorch
MIT License
1.26k stars 100 forks source link

ValueError: common is not allowed #22

Closed ivanstepanovftw closed 1 year ago

ivanstepanovftw commented 1 year ago

Reproducer:

import torch
from naturalspeech2_pytorch import (
    EncodecWrapper,
    Model,
    NaturalSpeech2,
    SpeechPromptEncoder
)
Traceback (most recent call last):
  File "/p/i/tts/ns2.py", line 2, in <module>
    from naturalspeech2_pytorch import (
  File "/home/i/.local/lib/python3.11/site-packages/naturalspeech2_pytorch/__init__.py", line 8, in <module>
    from naturalspeech2_pytorch.naturalspeech2_pytorch import (
  File "/home/i/.local/lib/python3.11/site-packages/naturalspeech2_pytorch/naturalspeech2_pytorch.py", line 22, in <module>
    from audiolm_pytorch import SoundStream, EncodecWrapper
  File "/home/i/.local/lib/python3.11/site-packages/audiolm_pytorch/__init__.py", line 8, in <module>
    from audiolm_pytorch.audiolm_pytorch import AudioLM
  File "/home/i/.local/lib/python3.11/site-packages/audiolm_pytorch/audiolm_pytorch.py", line 16, in <module>
    from audiolm_pytorch.vq_wav2vec import FairseqVQWav2Vec
  File "/home/i/.local/lib/python3.11/site-packages/audiolm_pytorch/vq_wav2vec.py", line 7, in <module>
    import fairseq
  File "/home/i/.local/lib/python3.11/site-packages/fairseq/__init__.py", line 20, in <module>
    from fairseq.distributed import utils as distributed_utils
  File "/home/i/.local/lib/python3.11/site-packages/fairseq/distributed/__init__.py", line 7, in <module>
    from .fully_sharded_data_parallel import (
  File "/home/i/.local/lib/python3.11/site-packages/fairseq/distributed/fully_sharded_data_parallel.py", line 10, in <module>
    from fairseq.dataclass.configs import DistributedTrainingConfig
  File "/home/i/.local/lib/python3.11/site-packages/fairseq/dataclass/__init__.py", line 6, in <module>
    from .configs import FairseqDataclass
  File "/home/i/.local/lib/python3.11/site-packages/fairseq/dataclass/configs.py", line 1104, in <module>
    @dataclass
     ^^^^^^^^^
  File "/usr/lib64/python3.11/dataclasses.py", line 1230, in dataclass
    return wrap(cls)
           ^^^^^^^^^
  File "/usr/lib64/python3.11/dataclasses.py", line 1220, in wrap
    return _process_class(cls, init, repr, eq, order, unsafe_hash,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/dataclasses.py", line 958, in _process_class
    cls_fields.append(_get_field(cls, name, type, kw_only))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/dataclasses.py", line 815, in _get_field
    raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'fairseq.dataclass.configs.CommonEvalConfig'> for field common is not allowed: use default_factory

Process finished with exit code 1
ivanstepanovftw commented 1 year ago

Fairseq issue https://github.com/facebookresearch/fairseq/issues/5012