⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 herest.prl

📁 HTK应用程序
💻 PRL
字号:
#!/usr/local/bin/perl

#---------------------------------------------------------------#
# HTK Perl Script: herest.prl                                   #
#                                                               #
# Usage:  herest.prl env srcdir tgtdir                          #
#                                                               #
# This script provides a high level interface to HERest,        #
# the HTK embedded training tool.The various parameters used to #
# control HERest and the definition of the various data sources #
# are defined in an environment file passed to herest as an arg.#
#                                                               #
# Env Vars Used:                                                #
#                                                               #
#   HMMLIST     - list of models to use in training             #
#   TRAINDATALIST - list of all training data files             #
#   TRAINMLF    - master label file for training data (if used) #
#   TRAINLABDIR - dir holding training label files              #
#                                                               #
#   HETRACE     - trace level                                   #
#   HEPRUNE     - pruning threshold (indexed)                   #
#   HEMINVAR    - minimum variance threshold                    #
#   HEMINWEIGHT - minimum mixture weight                        #
#   HEMINEG     - minimum number of examples                    #
#   HEUPD       - update flags u,v,m,t (default all)            #
#   HETMTHRESH  - tied mixture prune threshold                  #
#   HEFORCEMACRO- force a macro file to be loaded               #
#   HESTATS     - output a statistics file                      #
#                                                               #
#   NICE        - nice level to run at                          #
#                                                               #
#---------------------------------------------------------------#
#
# Copyright (c) Phil Woodland & Steve Young, 1992, 1993
# Last Updated 14/5/93
#
# Converted to Perl script by TL 7/1998
#

push @INC, "$ENV{RMSCRIPTS}";   # include the perl script path
require "global.pl";                    # include global variables
require "env_conv.pm";                  # sub to convert env vars

# Check Number of Args
if ( $#ARGV != 2 ) {
	die "Usage: herest.prl env srcdir tgtdir\n";
}

# Read the environment file
$Env_file = $ARGV[0];
if ( ! -f $Env_file ) {
	die "herest: cannot find environment file $Env_file\n";
}

# convert environment file to perl format
$Perl_env = "HE_env.pl";
&env_conv::env_convert($Env_file,$Perl_env);

# read in variable value from new file in perl format
require "$Perl_env";

# Check Source Exists
$SRC=$ARGV[1];
if ( -d $SRC ) {
   $srcopt = "-H $SRC/MODELS";
}
else {
   die "herest: source dir $SRC does not exist\n";
}

# Create/Clear Target Directory
$TGT=$ARGV[2];
if (! -d $TGT ) {
	mkdir $TGT, 0755;
}

$tgtopt = "-M $TGT";

# Define the file to log all output/errors to
$LOG="$TGT/LOG";

# Set Script File and Options
$OPT = "$srcopt $tgtopt -T $HETRACE";

if ( defined ($TRAINMLF) ) {
	$OPT = "$OPT -I $TRAINMLF ";
}

if ( defined ($TRAINLABDIR) ) {
	$OPT = "$OPT -L $TRAINLABDIR ";
}

if ( defined ($HEMINVAR) ) {
	$OPT = "$OPT -v $HEMINVAR ";
}
if ( defined ($HEMINWEIGHT) ) {
	$OPT = "$OPT -w $HEMINWEIGHT ";
}
if ( defined ($HEPRUNE) ) {
	$OPT = "$OPT -t $HEPRUNE ";
}
if ( defined ($HEMINEG) ) {
	$OPT = "$OPT -m $HEMINEG ";
}
if ( defined ($HEUPD) )  {
	$OPT = "$OPT -u $HEUPD ";
}
if ( defined ($HETMTHRESH) ) {
	$OPT = "$OPT -c $HETMTHRESH ";
}
if ( defined ($HEFORCEMACRO) ) {
	$OPT = "$OPT -H $SRC/$HEFORCEMACRO ";
}
if ( defined ($HESTATS) ) {
	$OPT = "$OPT -s $TGT/$HESTATS ";
}

# remove perl environment variable file
unlink $Perl_env;

# -------------- Run HERest -----------------------------------# 

open(LOGFILE,">$LOG") or die "Can't open $LOG file\n";
printf LOGFILE "HERest started at " . scalar localtime(time) . "\n"; 
close (LOGFILE);

system("HERest -A $OPT -C $HECONFIG -S $TRAINDATALIST $HMMLIST >> $LOG") ;

open(LOGFILE,">>$LOG") or die "Can't open $LOG file\n";
printf LOGFILE "HERest finished at " . scalar localtime(time) . "\n"; 
close (LOGFILE);

#---------------------------------------------------------------#
#                End of Script: herest                          #
#---------------------------------------------------------------#

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -