in floresv1/scripts/translate.py [0:0]
def translate_files_slurm(args, cmds, expected_output_files):
conda_env = '/private/home/pipibjc/.conda/envs/fairseq-20190509'
for cmd in cmds:
with TempFile('w') as script:
sh = f"""#!/bin/bash
source activate {conda_env}
{cmd}
"""
print(sh)
script.write(sh)
script.flush()
cmd = f"sbatch --gres=gpu:1 -c {args.cpu + 2} {args.sbatch_args} --time=15:0:0 {script.name}"
import sys
print(cmd, file=sys.stderr)
check_call(cmd, shell=True)
# wait for all outputs has finished
num_finished = 0
while num_finished < len(expected_output_files):
num_finished = 0
for output_file in expected_output_files:
num_finished += 1 if check_finished(output_file) else 0
if num_finished < len(expected_output_files):
time.sleep(3 * 60)
print("sleeping for 3m ...")