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";  | 
