/*
* Copyright 1999-2002 Carnegie Mellon University.
* Portions Copyright 2002 Sun Microsystems, Inc.
* Portions Copyright 2002 Mitsubishi Electric Research Laboratories.
* All Rights Reserved. Use is subject to license terms.
*
* See the file "license.terms" for information on usage and
* redistribution of this file, and for a DISCLAIMER OF ALL
* WARRANTIES.
*
*/
package edu.cmu.sphinx.trainer;
/**
* Indicates stages during training. The numbers prepended to the names indicate the order in which they are performed.
* Consecutive numbers were avoided to allow for future expansion of alternative stages. The value of the numbers has no
* bearing on the importance or duration of each stage, it is just an ordering method.
*/
public class Stage {
private String name;
/** Initialization stage. */
public static final Stage _00_INITIALIZATION =
new Stage("_00_INITIALIZATION");
/** Context independent model training stage. */
public static final Stage _10_CI_TRAIN = new Stage("_10_CI_TRAIN");
/** Untied context dependent model training stage. */
public static final Stage _20_UNTIED_CD_TRAIN =
new Stage("_20_UNTIED_CD_TRAIN");
/** State pruning stage. */
public static final Stage _30_STATE_PRUNING =
new Stage("_30_STATE_PRUNING");
/** Tied context dependent model training stage. */
public static final Stage _40_TIED_CD_TRAIN =
new Stage("_40_TIED_CD_TRAIN");
/** Copy models, possibly changing format. */
public static final Stage _90_CP_MODEL =
new Stage("_90_CP_MODEL");
/** Constructs a Stage with the given name.
* @param name the name to use
*/
protected Stage(String name) {
this.name = name;
}
/**
* Returns true if the given Stage is equal to this Stage.
*
* @param stage the Stage to compare
* @return true if they are the same, false otherwise
*/
public boolean equals(Stage stage) {
if (stage != null) {
return toString().equals(stage.toString());
} else {
return false;
}
}
/**
* Returns true if the given String is equal to this Stage's name.
*
* @param stage the Stage to compare
* @return true if they are the same, false otherwise
*/
public boolean equals(String stage) {
if (stage != null) {
return toString().equals(stage);
} else {
return false;
}
}
/**
* Returns the name of this Stage.
*
* @return the name of this Stage.
*/
@Override
public String toString() {
return name;
}
}