CTranslate2
CTranslate2 copied to clipboard
Converting M2M-100 with the latest Fairseq version fails with an error
Fairseq recently released a new version 0.12.1 to PyPI. This version is breaking the conversion of M2M-100 which fails with the following error:
Traceback (most recent call last):
File "/bin/ct2-fairseq-converter", line 8, in <module>
sys.exit(main())
File "/lib/python3.10/site-packages/ctranslate2/converters/fairseq.py", line 340, in main
converter.convert_from_args(args)
File "/lib/python3.10/site-packages/ctranslate2/converters/converter.py", line 50, in convert_from_args
return self.convert(
File "/lib/python3.10/site-packages/ctranslate2/converters/converter.py", line 89, in convert
model_spec = self._load()
File "/lib/python3.10/site-packages/ctranslate2/converters/fairseq.py", line 167, in _load
task = fairseq.tasks.setup_task(args)
File "/lib/python3.10/site-packages/fairseq/tasks/__init__.py", line 46, in setup_task
return task.setup_task(cfg, **kwargs)
File "/lib/python3.10/site-packages/fairseq/tasks/translation_multi_simple_epoch.py", line 127, in setup_task
langs, dicts, training = MultilingualDatasetManager.prepare(
File "/lib/python3.10/site-packages/fairseq/data/multilingual/multilingual_data_manager.py", line 342, in prepare
if args.langtoks is None:
AttributeError: 'Namespace' object has no attribute 'langtoks'
Current workarounds:
- install
fairseq==0.10.2
or
- convert M2M-100 with the Transformers converter