# print labels_training[0] # print "images[0].shape" # print images[0].shape # print "images[0].flatten().shape" # print images[0].flatten().shape # imshow(images_training[0], cmap=cm.gray) # show() # images_training /= 255. Xt, yt = convert_mnist_2d_1ToNOutput(images_training, labels_training) X = np.array(Xt) y = np.array(yt) ffnn = FeedForwardNN([len(X[0]), 100, len(y[0])], hidden_layer="sigmoid", output_layer="softmax", input_layer="sigmoid") ffnn.backpropagation_training(X, y, alpha=1e-5, epoch=50, momentum=0.0, l_regularization=0.0, plot_error=True) # ffnn.SGD_training(X, y, alpha=1e-7, epoch=5000, momentum=0.99, mini_batch_size=10, plot_error=True) # ffnn.adadelta_training(X, y, epoch=50, l_regularization=0, plot_error=True) images_test, labels_test = mnist_numpy.load_mnist("testing") # images_test /= 255. Xp, yp = convert_mnist_2d_1ToNOutput(images_test, labels_test) Xp = np.array(Xp) yp = np.array(yp) prediction = ffnn.run(X) total = len(y) count = 0 for i in xrange(total):
yp = list() for i in range(0, int(0.3 * len(Xl))): popi = random.randint(0, len(Xl) - 1) Xp.append(Xl[popi]) yp.append(yl[popi]) Xt.pop(popi) yt.pop(popi) # # / crossvalidation data construction X = np.array(Xt) y = np.array(yt) Xp = np.array(Xp) yp = np.array(yp) # norm = normalizer(X) # ffnn = FeedForwardNN([len(X[0]), len(X[0]), len(X[0]), len(X[0]), len(y[0])], hidden_layer="sigmoid", output_layer="softmax", input_layer="sigmoid") ffnn = FeedForwardNN([len(X[0]), len(X[0]) * 2, len(y[0])], hidden_layer="sigmoid", output_layer="softmax", input_layer="sigmoid") # ffnn.backpropagation_training(normalize(X, norm), y, alpha=0.00001, epoch=100, momentum=0.99, plot_error=True) # ffnn.backpropagation_training(X, y, alpha=1e-7, epoch=100, momentum=0.99, plot_error=True) # ffnn.SGD_training(X, y, alpha=1e-7, epoch=5000, momentum=0.99, mini_batch_size=10, plot_error=True) # ffnn.adadelta_training(normalize(X, norm), y, epoch=100, plot_error=True) ffnn.adadelta_training(X, y, epoch=100, l_regularization=0.1, plot_error=True) # prediction = ffnn.run(normalize(X, norm)) prediction = ffnn.run(X) print prediction total = len(y) count = 0 for i in xrange(total): indexp = max(enumerate(prediction[i]), key=operator.itemgetter(1))[0] indexe = max(enumerate(y[i]), key=operator.itemgetter(1))[0]