Ejemplo n.º 1
0
# 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):
Ejemplo n.º 2
0
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]