diff options
author | Jonathan Clark <jon.h.clark@gmail.com> | 2011-03-24 20:54:45 -0400 |
---|---|---|
committer | Jonathan Clark <jon.h.clark@gmail.com> | 2011-03-24 20:54:45 -0400 |
commit | 953530da9e656db32573d280ac17602469cdfff1 (patch) | |
tree | 253491f21c2b0b4a3c15640a0be529872bda50c9 /vest | |
parent | 81d3b064bac2a060d515a4175f122551da2aeb77 (diff) |
Be more paranoid and check count of topbest sents, too. Also, provide path to decoder logs when we do fail.
Diffstat (limited to 'vest')
-rwxr-xr-x | vest/dist-vest.pl | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/vest/dist-vest.pl b/vest/dist-vest.pl index 80d2471e..789b5b14 100755 --- a/vest/dist-vest.pl +++ b/vest/dist-vest.pl @@ -289,9 +289,23 @@ while (1){ my $cmd = "$pcmd $decoder_cmd 2> $decoderLog 1> $runFile"; print STDERR "COMMAND:\n$cmd\n"; check_bash_call($cmd); - my $num_hgs = check_output("ls $dir/hgs/*.gz | wc -l"); - print STDERR "NUMBER OF HGs: $num_hgs\n"; - die "Dev set contains $devSize sentences! Decoder failure?\n" if ($devSize != $num_hgs); + my $num_hgs; + my $num_topbest; + my $retries = 0; + while($retries < 5) { + $num_hgs = check_output("ls $dir/hgs/*.gz | wc -l"); + $num_topbest = check_output("wc -l < $runFile"); + print STDERR "NUMBER OF HGs: $num_hgs\n"; + print STDERR "NUMBER OF TOP-BEST HYPs: $num_topbest\n"; + if($devSize == $num_hgs && $devSize == $num_topbest) { + last; + } else { + print STDERR "Incorrect number of hypergraphs or topbest. Waiting for distributed filesystem and retrying...\n"; + sleep(3); + } + $retries++; + } + die "Dev set contains $devSize sentences, but we don't have topbest and hypergraphs for all these! Decoder failure? Check $decoderLog\n" if ($devSize != $num_hgs || $devSize != $num_topbest); my $dec_score = check_output("cat $runFile | $SCORER $refs_comma_sep -l $metric"); chomp $dec_score; print STDERR "DECODER SCORE: $dec_score\n"; |