-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:
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]))