GMTKMMITRAIN(1)

NAME
gmtkMMItrain - a Graphical Models Toolkit (GMTK) 1.4.4 program

SYNOPSIS
gmtkMMItrain [[[-flag] [option]] ...]

DESCRIPTION
This program executes discriminative training on the two input models, with Fisher kernel to calculate the gradients, and stochastic gradient ascent to update the parameters with the gradients.

OPTIONS
Required: <>; Optional: []; Flagless arguments must be in order.

Observation input file handling:

<-ofX str>
    Observation File. Replace X with the file number {null}

[-nfX unsigned]
    Number of floats in observation file X {0}

[-niX unsigned]
    Number of ints in observation file X {0}

[-fmtX str]
    Format (htk,binary,ascii,flatascii,hdf5,pfile) for observation file X {pfile}

[-fileBufferSize unsigned]
    Size in MB of the file observation frame buffer {16}

[-constantSpace bool]
    Use only fileBufferSize memory to hold the observation data {F}

[-fileWindowSize unsigned]
    Size in MB to load at once if constantSpace is active {4}

[-fileWindowDelta unsigned]
    How close (in frames) from the edge of the current window triggers loading more frames {100}

[-iswpX bool]
    Endian swap condition for observation file X {T}

[-prefrX str]
    Float range for observation file X (before transforms) {all}

[-preirX str]
    Int range for observation file X {all}

[-frX str]
    Float range for observation file X (after transforms) {all}

[-irX str]
    Int range for observation file X {all}

[-srX str]
    Segment range for observation file X {all}

[-leftPadX unsigned]
    Prepend padding frames to file X {0}

[-rightPadX unsigned]
    Append padding frames to file X {0}

[-preprX str]
    Pre Per-segment frame Range for obs file X before any transforms are applied {null}

[-postprX str]
    Post Per-segment frame Range for obs file X after per-stream transforms are applied {null}

[-gpr str]
    Global Per-segment final frame Range {null}

[-justification str]
    Justification of usable frames (left, center, right) {left}

[-obsNAN bool]
    True if observation files allow FP NAN values {F}

File range options:

[-trrng str]
    Range to train over segment file {all}

[-startSkip integer]
    Frames to skip at beginning (i.e., first frame is buff[startSkip]) {0}

[-endSkip integer]
    Frames to skip at end (i.e., last frame is buff[len-1-endSkip]) {0}

Help options:

[-help [unsigned]]
    Print this message. Add an argument from 1 to 5 for increasing help info. {1}

[-version bool]
    Print GMTK version number and exit. {F}

Observation matrix transformation options:

[-fdiffactX str]
    Action if different number of frames in streams: error (er), repeat last frame (rl), first frame (rf), segmentally expand (se), truncate from start (ts), truncate from end (te) {er}

[-sdiffactX str]
    Action if different number of segments in streams: error (er), truncate from end (te), repeat last sent (rl), and wrap around (wa). {te}

[-cppifascii bool]
    Pre-process ASCII files using CPP {F}

[-transX str]
    per stream transformations string {null}

[-posttrans str]
    Final global transformations string {null}

[-comb str]
    Combine float features (none: no combination, add, sub, mul,div {none}

[-cppCommandOptions str]
    Command line options to give to 'cpp' {null}

Input trainable parameter file handling:

<-inputMasterFile str>
    Input file of multi-level master CPP processed GM input parameters {null}

[-mapX str]
    Deterministic mapping dynamic library file. Replace X with the file number {null}

[-outputMasterFile str]
    Output file to place master CPP processed GM output parameters {null}

[-inputTrainableParameters str]
    File of only and all trainable parameters {null}

[-binInputTrainableParameters bool]
    Binary condition of trainable parameters file {F}

[-outputTrainableParameters str]
    File to place only and all trainable output parametes {null}

[-binOutputTrainableParameters bool]
    Binary condition of output trainable parameters? {F}

[-wpaeei bool]
    Write Parameters After Each EM Iteration Completes {T}

[-allocateDenseCpts integer]
    Automatically allocate undefined CPTs. (-1) = don't read params, (0) = don't allocate, (1) = use random initial CPT values, (2) = use uniform values {0}

[-cptNormThreshold double]
    Read error if |Sum-1.0|/card > norm_threshold {1.000000e-02}

Input model file handling:

<-strFile str>
    Graphical Model Structure File {null}

[-checkTriFileCards bool]
    Verify rv cardinalities in triangulation file match .str file {T}

[-triFile str]
    Triangulation file for strFile {null}

[-jtFile str]
    Name of file to write junction tree information {jt_info.txt}

[-jtwUB bool]
    True means jtWeight is allways an upper bound on true JT weight, false means jtWeight is estimate {F}

Discriminative Training Options :

<-denomStrFile str>
    Denominator graphical model structure file {null}

[-denomTriFile str]
    Triangulation file for denomStrFile {null}

<-denomInputMasterFile str>
    Input file of multi-level master CPP processed GM input parameters for denominator model {null}

[-denomInputTrainableParameters str]
    File of only and all trainable parameters for denominator model {null}

[-denomBinInputTrainableParameters bool]
    Binary condition of trainable parameters file for denominator model {F}

[-updateCPT bool]
    whether to update cpts during discriminative training {F}

[-updateDPMF bool]
    whether to update dpmfs during discriminative training {F}

[-updateMean bool]
    whether to update means during discriminative training {T}

[-updateCovar bool]
    whether to update covars during discriminative training {F}

[-useAdagrad bool]
    whether to use adagrad {T}

[-useDecayLr bool]
    whether to use decaying learning rate for initLr: default is 1/sqrt(t) {T}

[-useCovarDecayLr bool]
    whether to use decaying learning rate for covariances: default is 1/sqrt(t) {T}

[-useMeanDecayLr bool]
    whether to use decaying learning rate for mean: default is 1/sqrt(t) {T}

[-decayLrRate double]
    1/pow([initLr], t) {5.000000e-01}

[-decayCovarLrRate double]
    1/pow([covarLr], t) {5.000000e-01}

[-decayMeanLrRate double]
    1/pow([meanLr], t) {5.000000e-01}

[-maxIter unsigned]
    maximum number of iterations {2}

[-initIter unsigned]
    initial iteration to shrink learning rate from {0}

[-segmentSchedule str]
    Order to process training data segments (linear, random, permute, shuffle) {linear}

[-batchSize unsigned]
    batch size for stochastic gradient descent {1}

[-initLr double]
    initial learning rate for DPMFs and CPTs {1.000000e-03}

[-covarLr double]
    the additional multiplicative learning rate for covariance; the formula for covariance learning rate is: covarLr * adagradLr {1.000000e-05}

[-meanLr double]
    the additional multiplicative learning rate for means; the formula for the mean learning rate is: meanLr * adagradLr {1.000000e-05}

[-denomWeightMean double]
    the weight for the denominator model when calculating the gradient of means: numeratorGradient - denomWeight * denominatorGradient {1.000000e+00}

[-denomWeightCovar double]
    the weight for the denominator model when calculating the gradient of covars: numeratorGradient - denomWeight * denominatorGradient {1.000000e+00}

[-denomWeightDPMF double]
    the weight for the denominator model when calculating the gradient of DPMFs: numeratorGradient - denomWeight * denominatorGradient {1.000000e+00}

Continuous random variable options:

[-varFloor double]
    Variance Floor (variances can't fall below this value) {1.000000e-10}

[-floorVarOnRead bool]
    Floor the variances to varFloor when they are read in {F}

Beam pruning options:

[-cbeam double]
    Clique beam width to prune clique (log value) {1.000000e+17}

[-cpbeam double]
    Clique beam width while building cliques (log value) {1.000000e+17}

[-cpfilter str]
    Adaptive filter to use for clique bild pruning {}

[-cpch bool]
    For clique beam build pruning, use a continuation heurisic within the rest of the clique {T}

[-cpef double]
    For clique beam build pruning, the amount that the beam expands each time we find a zero clique {1.000000e+00}

[-cpme unsigned]
    For clique beam build pruning, the maximum number of expansions before we fail and exit {1}

[-ckbeam unsigned]
    Prune to this clique max state space (0 = no pruning) {0}

[-cusample double]
    Uniformly sample pruned clique (0<v=<=1 fraction, > 1 number) {0.000000e+00}

[-ccclusters unsigned]
    Number of clusters to use in cluster pruning {0}

[-ccbeam double]
    Clique cluster beam width to prune clique clusters (log value) {1.000000e+17}

[-cckbeam unsigned]
    Max number of states in each cluster in cluster pruning {4294967295}

[-ccrbeam float]
    Fraction of in-cluster clique state space to retain. Range: 0 < v <= 1. {1.000000e+00}

[-ccmbeam double]
    Percentage of clique cluster mass to retain. Range: 0 < v <= 1. v = 1.0 means no pruning {1.000000e+00}

[-ccmexp double]
    Exponent to apply to clique cluster scores when doing mass pruning. Must be non-negative. {1.000000e+00}

[-ccmmin unsigned]
    When using -cmbeam, min possible resulting clique cluster state size (>= 1) {1}

[-ccmfurther double]
    When using -ccmbeam, additional beam to use after mass has been acounted for (>= 0) {0.000000e+00}

[-crbeam float]
    Fraction of clique state space to retain. Range: 0 < v <= 1. v = 1 means no pruning {1.000000e+00}

[-cmbeam double]
    Percentage of clique mass to relinquish. Range: 0 < v <= 1. v = 1.0 means no pruning {1.000000e+00}

[-cmexp double]
    Exponent to apply to clique scores when doing mass pruning. Must be non-negative. {1.000000e+00}

[-cmmin unsigned]
    When using -cmbeam, min possible resulting clique state size (>= 1) {1}

[-cmfurther double]
    When using -cmbeam, additional beam to use after mass has been acounted for (>= 0) {0.000000e+00}

[-sbeam double]
    Separator beam width pruning log value {1.000000e+17}

[-ebeam double]
    EM training beam width {1.000000e+17}

Memory management options:

[-memoryGrowth str]
    Rate to grow data structures (conservative, default, aggressive) {default}

[-hashLoadFactor float]
    Hash table load factor, in range 0.05 <= lf <= 1.0 {5.000000e-01}

[-deterministicChildrenStore bool]
    Store deterministic children in clique memory {T}

[-clearCliqueValMem bool]
    Free clique/separator value cache for each segment {T}

[-mmapViterbiValues bool]
    Use mmap() to get memory to hold Viterbi values {T}

General options:

[-seed bool]
    Seed the random number generator {F}

[-skipStartupChecks bool]
    Skip expensive model validity checks performed at GMTK startup {F}

[-verbosity str]
    Verbosity - coma separated list of m=v, where m is all, default, inference, inference-memory, training, triangulation, boundary, unrolling, printing, modelinfo, obsfile, obsstream; 0 <= v <= 100 {null}

[-printIntValues bool]
    Always print rv values as integer rather than symbols {F}

Inference options:

[-island bool]
    Run island algorithm {F}

[-base str]
    Island algorithm logarithm base (integer or 'root') {3}

[-root float]
    use T^r as the island logarithm base, where T is the number of frames {5.000000e-01}

[-lst unsigned]
    Island algorithm linear segment threshold {100}

[-componentCache bool]
    Cache mixture and component probabilities, faster but uses more memory. {T}

[-vsap str]
    Variable section assignment priority. Sequence of chars in set [C,D,O,B,S,I,A,F,N] {COI}

[-vcap str]
    Variable clique sorting priority. Sequence of chars in set [C,D,O,B,S,I,A,F,N,T,M,+,.] {COT}

[-jcap str]
    Junction Tree Clique MST Sorting Priority. From Set: [D,E,S,U,V,W,H,O,L,Q] {DSU}

[-icap str]
    Interface Clique Priority Determiner Priority. From Set: [W,D,H,O,I] {W}

[-useVESeparators unsigned]
    Use Virtual Evidence (VE) Separators (if any are available) during inference (Bitwise or of 0x1 (PC) or PCG (0x2) {3}

[-veSepWhere unsigned]
    Where to use VE seps. Bitwise or of 0x1 (P), 0x2 (C), 0x4 (E) {0}

[-veSepFileName str]
    Name of VE separators file to store VE sep/read previous VE sep info {veSeparatorFile.dat}

[-veSepRecompute bool]
    Force a re-compute of VE separator information {F}

[-veSepLogProdCardLimit float]
    The log (base 10) upper limit on a VE sep variable cardinality product {7.000000e+00}

[-keepOnlyInterfaceSeparatorMemory bool]
    Use a slower but more memory efficient inference implementation {F}

[-failOnZeroClique bool]
    abort GMTK program on zero clique errors {T}

[-cliqueTableNormalize float]
    Normalize scores of each clique right after its creation (increases dynamic range). {1.000000e+00}

Kernel options:

[-random bool]
    Randomize the parameters {F}

[-transFileIsBinary bool]
    Use binary to write the parameters in transformed space {F}

[-objsNotToUtilize str]
    File listing trainable parameter objects to not utilize in transformed space. {null}

<-storeFeatureFile str>
    File to store feature space values in {null}

[-localCliqueNorm bool]
    Use local clique sum for posterior normalization. {F}

[-fisherKernel bool]
    Compute the fisher kernel transformation. {T}

[-annotateTransformationOutput bool]
    Annotation the output tranformation matrix (one per line). {T}

[-writeLogVals bool]
    Write log(p) rather than just p for prob values. {F}

Lattice options:

[-latticeDefaultFrameRate double]
    Lattice, default frame rate (if negative, compute from file) {-1.000000e+02}

[-latticeUseMaxScore bool]
    Lattice, use max edge score for node CPT {T}

[-latticeIgnoreNodeTimeMarks bool]
    Lattice, ignore lattice node time marks in all lattices {F}

Additional arguments:

[-argsFile <str>]
    File to obtain additional arguments from {}

Mercurial id: 2e685b02ff37 checkin date: Fri Dec 04 02:13:34 2015 -0800

ENVIRONMENT

GMTKTMPDIR
    Temporary directory gmtkDMLPtrain uses to store neural network parameters

GMTK_CPP_CMD
    Command GMTK programs use to preprocess ASCII input files

GMTK_GZIP_CMD
    Command GMTK programs use to uncompress ASCII input files with ".gz" extensions

GMTK_BZIP2_CMD
    Command GMTK programs ue to uncompress ASCII input files with ".bz2" extensions

REPORTING BUGS
Report bugs to http://j.ee.washington.edu/trac/gmtk

COPYRIGHT
Copyright © 2001-2015 Jeff Bilmes

Licensed under the Open Software License version 3.0
See COPYING or http://opensource.org/licenses/OSL-3.0

SEE ALSO
The GMTK source code and full documentation is available at
http://melodi.ee.washington.edu/gmtk

Support is availabe via the GMTK Users' mailing list
gmtk-users@u.washington.edu

Subscribe at
http://mailman.u.washington.edu/mailman/listinfo/gmtk-users