fairseq icon indicating copy to clipboard operation
fairseq copied to clipboard

mBART50 Translation/Fine Tuning with Many-to-One Model not working

Open sergej-schultenkaemper opened this issue 4 years ago • 19 comments

Hello, I think there is something wrong with the arch. If I get the args for the mbart50.ft.n1 model it says "arch": "denoising_large". But denoising_large is not available in Fairseq as I see.

To Reproduce:

path_2_data=/home/sergej/fairseq/data4translation/ model=/home/sergej/fairseq/mbart50.ft.n1/model.pt lang_list=mbart50.ft.n1/ML50_langs.txt source_lang=de_DE lang_pairs=de_DE-en_XX target_lang=en_XX

fairseq-generate $path_2_data
--path $model
--task translation_multi_simple_epoch
--gen-subset test
--source-lang $source_lang
--target-lang $target_lang
--sacrebleu
--remove-bpe 'sentencepiece'
--batch-size 32
--encoder-langtok "src"
--decoder-langtok
--lang-dict "$lang_list"
--lang-pairs "$lang_pairs" > ${source_lang}_${target_lang}_mBART50FTN1_on_KWS_Test.txt

Error:

Traceback (most recent call last): File "/home/sergej/nlp/bin/fairseq-generate", line 33, in sys.exit(load_entry_point('fairseq', 'console_scripts', 'fairseq-generate')()) File "/home/sergej/fairseq/fairseq_cli/generate.py", line 404, in cli_main main(args) File "/home/sergej/fairseq/fairseq_cli/generate.py", line 49, in main return _main(cfg, sys.stdout) File "/home/sergej/fairseq/fairseq_cli/generate.py", line 96, in _main models, saved_cfg = checkpoint_utils.load_model_ensemble( File "/home/sergej/fairseq/fairseq/checkpoint_utils.py", line 319, in load_model_ensemble ensemble, args, _task = load_model_ensemble_and_task( File "/home/sergej/fairseq/fairseq/checkpoint_utils.py", line 361, in load_model_ensemble_and_task state = load_checkpoint_to_cpu(filename, arg_overrides) File "/home/sergej/fairseq/fairseq/checkpoint_utils.py", line 295, in load_checkpoint_to_cpu state = _upgrade_state_dict(state) File "/home/sergej/fairseq/fairseq/checkpoint_utils.py", line 537, in _upgrade_state_dict state["cfg"] = convert_namespace_to_omegaconf(state["args"]) File "/home/sergej/fairseq/fairseq/dataclass/utils.py", line 386, in convert_namespace_to_omegaconf _set_legacy_defaults(cfg.model, ARCH_MODEL_REGISTRY[args.arch]) KeyError: 'denoising_large'

sergej-schultenkaemper avatar Apr 13 '21 14:04 sergej-schultenkaemper