コード例 #1
0
def main(argv=None):
    if argv is None:
        argv = sys.argv

    usage = "usage: %prog [options] N datafile (pass -h for more info)"
    parser = OptionParser(usage)
    parser.add_option("-v", "--verbose",
                      action="store_true", dest="verbose", default=False,
                      help="Print extra debugging info")

    (options, args) = parser.parse_args(argv[1:])
    if len(args) != 2:
        print "ERROR: Missing arguments"
        parser.print_usage()
        sys.exit(1)

    num_states = int(args[0])
    filename = args[1]
    filename = normalize_filename(filename)

    # Read all the data, then split it up into each category
    # Build models from the category data files
    hmms, dataset = train_N_state_hmms_from_data(
        filename, num_states, options.verbose)

    # See how well we do in classifying test sequences
    fraction_incorrect = compute_classification_performance(
        hmms, dataset, options.verbose)
    print(fraction_incorrect)
    return 0
コード例 #2
0
ファイル: lossless.py プロジェクト: adaptee/flacify
    def rename_by_taginfo(self, scheme=default_scheme):

        taginfo = self.extract_taginfo()

        filename = "%s%s" % ( eval_scheme(scheme, taginfo),
                               self.extension,
                             )

        filename_good = normalize_filename(filename)
        infomsg ("filename_good: %s => %s" % (self.filename, filename_good))

        os.rename(self.filename, filename_good)

        self.filename = filename_good
        self.basename = os.path.splitext(filename_good)[0]
コード例 #3
0
def train_hmm_from_data(data_filename, debug=False):
    if debug:
        print "\n\nReading dataset %s ..." % data_filename
    data_filename = normalize_filename(data_filename)
    d = DataSet(data_filename)
    # if options.verbose:
    #	print d
    if debug:
        print "Building an HMM from the full training data..."
    hmm = HMM(d.states, d.outputs)
    hmm.learn_from_labeled_data(d.train_state, d.train_output)
    if debug:
        print "The model:"
        print hmm
    return (hmm, d)
コード例 #4
0
 def test_small_robot_dataset(self):
     data_filename = "robot_small.data"
     data_filename = normalize_filename(data_filename)
     hmm, d = train_hmm_from_data(data_filename)
     err_full = run_viterbi(hmm, d, True)
     self.assertAlmostEqual(err_full, 2.0 / 9)
コード例 #5
0
def test_normalize_filename(filename: str, result: str):
    assert util.normalize_filename(filename) == result