Example #1
0
                    -5, -2)
                convlayer = None
                if conv:
                    convlayer = np.random.randint(1, 6)
                    print "Preparing AlexNet outputs:"
                    set = make_sets(alex_net(faces, convlayer), classes,
                                    85 * len(act), 27 * len(act))
                    print "\n"

                print "Model %d:" % i
                print "\t", hu, funs, lmbda, convlayer
                bench, cs, acs = train_neural_net(set,
                                                  hu,
                                                  fun,
                                                  dropout=0.5,
                                                  batch_size=50,
                                                  index=i,
                                                  lmbda=lmbda,
                                                  best=best_val_accuracy,
                                                  max_iter=1500,
                                                  conv_input=conv)
                c, a = bench
                # Found new model according to validation accuracy
                if a[1] > best_val_accuracy:
                    best_val_accuracy = a[1]
                    print "Found new best model!"
                    print "\tCost (Accuracy):"
                    print "\t\t %f (%4.2f%%)" % (best_val_accuracy, a[1])
                    print "\tModel:"
                    print "\t\t", hu, funs, lmbda, "\n\n"
                    nnt.plot_curves(cs, acs, autotitle=True, conv=conv)
                    if conv:
Example #2
0
                funcs = np.array([tf.nn.relu, tf.nn.tanh])
                hu = np.random.randint(200, 850, nlayer)
                idx = np.random.choice(2, nlayer)
                funs = funcs_n[idx]
                fun = funcs[idx]
                lmbda = np.random.randint(0,10) * 10 ** np.random.randint(-5,-2)
                convlayer = None
                if conv:
                    convlayer = np.random.randint(1,6)
                    print "Preparing AlexNet outputs:"
                    set = make_sets(alex_net(faces, convlayer), classes, 85*len(act), 27*len(act))
                    print "\n"

                print "Model %d:" %i
                print "\t", hu, funs, lmbda, convlayer
                bench,cs,acs = train_neural_net(set, hu, fun, dropout=0.5, batch_size=50, index=i, lmbda=lmbda,
                                                best=best_val_accuracy, max_iter=1500, conv_input=conv)
                c,a = bench
                # Found new model according to validation accuracy
                if a[1] > best_val_accuracy:
                    best_val_accuracy = a[1]
                    print "Found new best model!"
                    print "\tCost (Accuracy):"
                    print "\t\t %f (%4.2f%%)" %(best_val_accuracy, a[1])
                    print "\tModel:"
                    print "\t\t", hu, funs, lmbda, "\n\n"
                    nnt.plot_curves(cs,acs,autotitle=True, conv=conv)
                    if conv:
                        with open('results/models_conv_best.csv', 'w+') as fl:
                            fl.write("%s, %s, %s, %d, %5.4f, "
                                     "%5.4f, %5.4f, %5.2f, %5.2f, %5.2f\n" %(hu, funs, lmbda, convlayer, c[0], c[1], c[2],
                                                                             a[0], a[1], a[2]))