Dataclass error while importing Fairseq in Python 3.11
Bug
FaValueError: mutable default <class 'fairseq.dataclass.configs.CommonConfig'> for field common is not allowed: use default_factory
To Reproduce
Steps to reproduce the behavior (always include the command you ran): 1, pip install fairseq==0.12.2 2. from fairseq import *
Trace:
Traceback (most recent call last): File "", line 1, in File "/home/a1bharat/fairseq/fairseq/init.py", line 20, in from fairseq.distributed import utils as distributed_utils File "/home/a1bharat/fairseq/fairseq/distributed/init.py", line 7, in from .legacy_distributed_data_parallel import LegacyDistributedDataParallel File "/home/a1bharat/fairseq/fairseq/distributed/legacy_distributed_data_parallel.py", line 23, in from fairseq.distributed import utils File "/home/a1bharat/fairseq/fairseq/distributed/utils.py", line 22, in from fairseq.dataclass.configs import DistributedTrainingConfig, FairseqConfig File "/home/a1bharat/fairseq/fairseq/dataclass/init.py", line 6, in from .configs import FairseqDataclass File "/home/a1bharat/fairseq/fairseq/dataclass/configs.py", line 906, in @dataclass ^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 1220, in dataclass return wrap(cls) ^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 1210, in wrap return _process_class(cls, init, repr, eq, order, unsafe_hash, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/dataclasses.py", line 958, in _process_class cls_fields.append(_get_field(cls, name, type, kw_only)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/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.CommonConfig'> for field common is not allowed: use default_factory
Code sample
Environment
- fairseq Version ( main):
- PyTorch Version (e.g., 1.0): 1.13.1
- OS (e.g., Linux): Ubuntu
- How you installed fairseq (
pip, source): pip install successful - Build command you used (if compiling from source): git clone followed by pip install ./
- Python version: 3.11
- CUDA/cuDNN version: 11.6
- GPU models and configuration: NVIDIA
- Any other relevant information:
Additional context
Source: facebookresearch/fairseq