summaryrefslogtreecommitdiff
path: root/vest
diff options
context:
space:
mode:
authorChris Dyer <cdyer@cs.cmu.edu>2011-02-11 09:59:47 -0500
committerChris Dyer <cdyer@cs.cmu.edu>2011-02-11 09:59:47 -0500
commitbc5801b68704b607bd0afc8bbae6f92eeb5409f9 (patch)
tree7aebf486fe3bccc7c0080fb33eff00aee7827318 /vest
parent3b9de9297b69bc74c1dd9d76d59253667ff58cc5 (diff)
multi-pass mert
Diffstat (limited to 'vest')
-rwxr-xr-xvest/dist-vest.pl20
1 files changed, 15 insertions, 5 deletions
diff --git a/vest/dist-vest.pl b/vest/dist-vest.pl
index 52feb3e6..1852fa5a 100755
--- a/vest/dist-vest.pl
+++ b/vest/dist-vest.pl
@@ -64,6 +64,7 @@ my $use_make; # use make to parallelize line search
my $dirargs='';
my $density_prune;
my $usefork;
+my $pass_suffix = '';
my $cpbin=1;
# Process command-line options
Getopt::Long::Configure("no_auto_abbrev");
@@ -72,6 +73,7 @@ if (GetOptions(
"decode-nodes=i" => \$decode_nodes,
"density-prune=f" => \$density_prune,
"dont-clean" => \$disable_clean,
+ "pass-suffix" => \$pass_suffix,
"use-fork" => \$usefork,
"dry-run" => \$dryrun,
"epsilon=s" => \$epsilon,
@@ -265,7 +267,7 @@ while (1){
print STDERR `date`;
my $im1 = $iteration - 1;
my $weightsFile="$dir/weights.$im1";
- my $decoder_cmd = "$decoder -c $iniFile -w $weightsFile -O $dir/hgs";
+ my $decoder_cmd = "$decoder -c $iniFile --weights$pass_suffix $weightsFile -O $dir/hgs";
if ($density_prune) {
$decoder_cmd .= " --density_prune $density_prune";
}
@@ -590,7 +592,11 @@ sub enseg {
my $i=0;
while (my $line=<SRC>){
chomp $line;
- print NEWSRC "<seg id=\"$i\">$line</seg>\n";
+ if (/^\s*<seg/i) {
+ print NEWSRC "$line\n";
+ } else {
+ print NEWSRC "<seg id=\"$i\">$line</seg>\n";
+ }
$i++;
}
close SRC;
@@ -620,12 +626,12 @@ Options:
Use make -j <I> to run the optimizer commands (useful on large
shared-memory machines where qsub is unavailable).
- --decoder <decoder path>
- Decoder binary to use.
-
--decode-nodes <I>
Number of decoder processes to run in parallel. [default=15]
+ --decoder <decoder path>
+ Decoder binary to use.
+
--density-prune <N>
Limit the density of the hypergraph on each iteration to N times
the number of edges on the Viterbi path.
@@ -640,6 +646,10 @@ Options:
Maximum number of iterations to run. If not specified, defaults
to 10.
+ --pass-suffix <S>
+ If the decoder is doing multi-pass decoding, the pass suffix "2",
+ "3", etc., is used to control what iteration of weights is set.
+
--pmem <N>
Amount of physical memory requested for parallel decoding jobs.