in floresv1/scripts/translate.py [0:0]
def translate_files(args, dest_dir, input_files):
cmd_template = f"""fairseq-interactive \
{args.databin} \
--source-lang {args.source_lang} --target-lang {args.target_lang} \
--path {args.model} \
--lenpen {args.lenpen} \
--max-len-a {args.max_len_a} \
--max-len-b {args.max_len_b} \
--buffer-size {args.buffer_size} \
--max-tokens {args.max_tokens} \
--num-workers {args.cpu} > {{output_file}} && \
echo "finished" >> {{output_file}}
"""
cmds = []
expected_output_files = []
for input_file in input_files:
output_file = get_output_file(dest_dir, input_file)
cmds.append(f"cat {input_file} | " + cmd_template.format(output_file=output_file))
expected_output_files.append(output_file)
if args.backend == 'local':
translate_files_local(args, cmds)
elif args.backend == 'slurm':
translate_files_slurm(args, cmds, expected_output_files)