示例#1
0
                     myopen(join(rundir, "best-model.pkl"), "w"),
                     protocol=-1)
    myopen(join(rundir, "best-model-validation.txt"),
           "w").write("Accuracy %.2f%% after %d updates" %
                      (best_validation_accuracy * 100, best_validation_at))


mvgavg_accuracy = 0.
mvgavg_variance = 0.
cnt = 0
for (x, y) in examples.get_training_example():
    cnt += 1
    #    print x, y
    #    print "Target y =", y
    if HLAYERS == 2:
        o = graph.trainfn(x, N.array([y]), w1, b1, wh, bh, w2, b2)
        (kl, softmax, argmax, prehidden1, prehidden2, gw1, gb1, gwh, gbh, gw2,
         gb2) = o
    else:
        o = graph.trainfn(x, N.array([y]), w1, b1, w2, b2)
        (kl, softmax, argmax, prehidden, gw1, gb1, gw2, gb2) = o
#    print "old KL=%.3f, softmax=%s, argmax=%d" % (kl, softmax, argmax)
#    print "old KL=%.3f, argmax=%d" % (kl, argmax)

    if argmax == y: this_accuracy = 1.
    else: this_accuracy = 0.
    mvgavg_accuracy = mvgavg_accuracy - (2. / cnt) * (mvgavg_accuracy -
                                                      this_accuracy)
    # Should I compute mvgavg_variance before updating the mvgavg_accuracy?
    this_variance = (this_accuracy - mvgavg_accuracy) * (this_accuracy -
                                                         mvgavg_accuracy)
示例#2
0
def state_save():
    if HLAYERS == 2:
        cPickle.dump((w1, b1, wh, bh, w2, b2), myopen(join(rundir, "best-model.pkl"), "w"), protocol=-1)
    else:
        cPickle.dump((w1, b1, w2, b2), myopen(join(rundir, "best-model.pkl"), "w"), protocol=-1)
    myopen(join(rundir, "best-model-validation.txt"), "w").write("Accuracy %.2f%% after %d updates" % (best_validation_accuracy*100, best_validation_at))

mvgavg_accuracy = 0.
mvgavg_variance = 0.
cnt = 0
for (x, y) in examples.get_training_example():
    cnt += 1
#    print x, y
#    print "Target y =", y
    if HLAYERS == 2:
        o = graph.trainfn([x.data], N.array([y]), w1[x.indices], b1, wh, bh, w2, b2)
        (kl, softmax, argmax, prehidden1, prehidden2, gw1, gb1, gwh, gbh, gw2, gb2) = o
    else:
        o = graph.trainfn([x.data], N.array([y]), w1[x.indices], b1, w2, b2)
        (kl, softmax, argmax, prehidden, gw1, gb1, gw2, gb2) = o
#    print "old KL=%.3f, softmax=%s, argmax=%d" % (kl, softmax, argmax)
#    print "old KL=%.3f, argmax=%d" % (kl, argmax)

    if argmax == y: this_accuracy = 1.
    else: this_accuracy = 0.
    mvgavg_accuracy = mvgavg_accuracy - (2. / cnt) * (mvgavg_accuracy - this_accuracy)
    # Should I compute mvgavg_variance before updating the mvgavg_accuracy?
    this_variance = (this_accuracy - mvgavg_accuracy) * (this_accuracy - mvgavg_accuracy)
    mvgavg_variance = mvgavg_variance - (2. / cnt) * (mvgavg_variance - this_variance)
#    print "Accuracy (moving average): %.2f%%, stddev: %.2f%%" % (100. * mvgavg_accuracy, 100. * math.sqrt(mvgavg_variance))
示例#3
0
def state_save():
    if HLAYERS == 2:
        cPickle.dump((w1, b1, wh, bh, w2, b2), myopen(join(rundir, "best-model.pkl"), "w"), protocol=-1)
    else:
        cPickle.dump((w1, b1, w2, b2), myopen(join(rundir, "best-model.pkl"), "w"), protocol=-1)
    myopen(join(rundir, "best-model-validation.txt"), "w").write("Accuracy %.2f%% after %d updates" % (best_validation_accuracy*100, best_validation_at))

mvgavg_accuracy = 0.
mvgavg_variance = 0.
cnt = 0
for (x, y) in examples.get_training_example():
    cnt += 1
#    print x, y
#    print "Target y =", y
    if HLAYERS == 2:
        o = graph.trainfn(x, N.array([y]), w1, b1, wh, bh, w2, b2)
        (kl, softmax, argmax, prehidden1, prehidden2, gw1, gb1, gwh, gbh, gw2, gb2) = o
    else:
        o = graph.trainfn(x, N.array([y]), w1, b1, w2, b2)
        (kl, softmax, argmax, prehidden, gw1, gb1, gw2, gb2) = o
#    print "old KL=%.3f, softmax=%s, argmax=%d" % (kl, softmax, argmax)
#    print "old KL=%.3f, argmax=%d" % (kl, argmax)

    if argmax == y: this_accuracy = 1.
    else: this_accuracy = 0.
    mvgavg_accuracy = mvgavg_accuracy - (2. / cnt) * (mvgavg_accuracy - this_accuracy)
    # Should I compute mvgavg_variance before updating the mvgavg_accuracy?
    this_variance = (this_accuracy - mvgavg_accuracy) * (this_accuracy - mvgavg_accuracy)
    mvgavg_variance = mvgavg_variance - (2. / cnt) * (mvgavg_variance - this_variance)
#    print "Accuracy (moving average): %.2f%%, stddev: %.2f%%" % (100. * mvgavg_accuracy, 100. * math.sqrt(mvgavg_variance))
示例#4
0
#    state.save((w1, b1, wh, bh, w2, b2), rundir, best_validation_accuracy, best_validation_at)
#else:
#    state.save((w1, b1, w2, b2), rundir, best_validation_accuracy, best_validation_at)
for (x, y) in examples.get_training_example():
    cnt += 1
#    print x, y
#    print "Target y =", y

    if HYPERPARAMETERS["locally normalize"]:
        targety = N.array([y])
    else:
        targety = N.zeros(ODIM)
        targety[y] = 1.

    if HLAYERS == 2:
        o = graph.trainfn([x.data], targety, w1[x.indices], b1, wh, bh, w2, b2)
        (kl, softmax, argmax, prehidden1, prehidden2, gw1, gb1, gwh, gbh, gw2, gb2) = o
    else:
        o = graph.trainfn([x.data], targety, w1[x.indices], b1, w2, b2)
        (kl, softmax, argmax, prehidden, gw1, gb1, gw2, gb2) = o
#    print "old KL=%.3f, softmax=%s, argmax=%d" % (kl, softmax, argmax)
#    print "old KL=%.3f, argmax=%d" % (kl, argmax)

    if argmax == y: this_accuracy = 100.
    else: this_accuracy = 0.
    mvgavg_accuracy.add(this_accuracy)

    if N.isnan(kl).any():
        print >> sys.stderr, "Got a NaN loss"
    else:
        mvgavg_loss.add(kl)