summaryrefslogtreecommitdiff
path: root/vest/dist-vest.pl
diff options
context:
space:
mode:
authorJonathan Clark <jon.h.clark@gmail.com>2011-03-24 20:54:45 -0400
committerJonathan Clark <jon.h.clark@gmail.com>2011-03-24 20:54:45 -0400
commit9fcd3fdbfde418c8347603b216b182d04db28516 (patch)
tree3738dd22989c0ebc82714e9c427dba2479319d21 /vest/dist-vest.pl
parent159c889f8c65af4a97af1ced35ccedea34600fdf (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/dist-vest.pl')
-rwxr-xr-xvest/dist-vest.pl20
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";