示例#1
0
                       dropout_rate=dropout_rate,
                       batch_size=batch_size,
                       np_rng=rng)

    start_time = timeit.default_timer()
    for epoch in xrange(training_epochs):
        epoch_time = timeit.default_timer()
        mean_cost = []
        for batch_index in xrange(n_train_batches):
            rbm.update(np_train_set[batch_index*batch_size:(batch_index+1)*batch_size,:], persistent=True, k=k)
            sys.stdout.write("\rEpoch advancement: %d%%" % (100*float(batch_index)/n_train_batches))
            sys.stdout.flush()
        sys.stdout.write("\rEvaluating accuracy...")
        sys.stdout.flush()
        cv_time = timeit.default_timer()
        acc = rbm.cv_accuracy(np_test_set)
        sys.stdout.write('''\rEpoch %i took %f minutes, 
                         accuracy (computed in %f minutes) is %f.\n'''
            % (epoch, 
               ((cv_time-epoch_time) / 60.), 
               ((timeit.default_timer()-cv_time) / 60.),
               acc))
            
        if scoring=='cost':
            score = np.mean(mean_cost)
        elif scoring=='accuracy':
            score = acc
        else:
            raise Warning('''scoring must be cost or accuracy, 
                          set to accuracy''')
            score = acc