Helsinki-NLP / OpusFilter

OpusFilter - Parallel corpus processing toolkit
MIT License
101 stars 18 forks source link

fix: missing the checker for param #47

Closed BrightXiaoHan closed 2 years ago

BrightXiaoHan commented 2 years ago

In command train_alignment, missing checker for param output.

  - type: train_alignment
    parameters:
      src_data: zh.rules
      tgt_data: en.rules
      scores: align_score.jsonl
      output: align.priors
      parameters:
        model: 3
        src_tokenizer: [jieba, zh]
        tgt_tokenizer: [moses, en]

The error will raise

Traceback (most recent call last):
  File "/home/hanbing/miniconda3/envs/opus/bin/opusfilter", line 7, in <module>
    exec(compile(f.read(), __file__, 'exec'))
  File "/home/hanbing/projects/OpusFilter/bin/opusfilter", line 27, in <module>
    of.execute_steps(overwrite=args.overwrite, last=args.last)
  File "/home/hanbing/projects/OpusFilter/opusfilter/opusfilter.py", line 121, in execute_steps
    self._run_step(step, num + 1, overwrite)
  File "/home/hanbing/projects/OpusFilter/opusfilter/opusfilter.py", line 186, in _run_step
    self.step_functions[step['type']](parameters, overwrite=overwrite)
  File "/home/hanbing/projects/OpusFilter/opusfilter/opusfilter.py", line 418, in train_alignment
    model_out = os.path.join(self.output_dir, parameters['output'])
KeyError: 'output'
svirpioj commented 2 years ago

Thanks for the fix! And sorry for the delay, for some reason I hadn't noticed your PR earlier.