Example #1
0
def demo():
    X,y = utils.load_mnist()
    y = utils.makeMultiClass(y)
    
    # building the SDA
    sDA = StackedDA([100])

    # pre-trainning the SDA
    sDA.pre_train(X[:100], noise_rate=0.3, epochs=1)

    # saving a PNG representation of the first layer
    W = sDA.Layers[0].W.T[:, 1:]
    utils.saveTiles(W, img_shape= (28,28), tile_shape=(10,10), filename="results/res_dA.png")

    # adding the final layer
    sDA.finalLayer(X[:37500], y[:37500], epochs=2)

    # trainning the whole network
    sDA.fine_tune(X[:37500], y[:37500], epochs=2)

    # predicting using the SDA
    pred = sDA.predict(X[37500:]).argmax(1)

    # let's see how the network did
    y = y[37500:].argmax(1)
    e = 0.0
    for i in range(len(y)):
        e += y[i]==pred[i]

    # printing the result, this structure should result in 80% accuracy
    print "accuracy: %2.2f%%"%(100*e/len(y))

    return sDA
Example #2
0
def demo(structure = [25**2, 23**2, 21**2,19**2,16**2, 15**2]):
    # Getting the data
    X,y = utils.load_mnist()
    
    
    autoencoder = StackedDA([100], alpha=0.01)
    autoencoder.pre_train(X[:1000], 10)
    
    y = utils.makeMultiClass(y)
    autoencoder.fine_tune(X[:1000], y[:1000], learning_layer=200, n_iters=20, alpha=0.01)

    W = autoencoder.W[0].T[:, 1:]
    W = utils.saveTiles(W, img_shape= (28,28), tile_shape=(10,10), filename="Results/res_dA.png")
Example #3
0
def useLayers():
    X,y = utils.load_mnist()
    y = utils.makeMultiClass(y)
    
    # Layers
    sDA = StackedDA([100])
    sDA.pre_train(X[:1000], rate=0.5, n_iters=500)
    sDA.finalLayer(y[:1000], learner_size=200, n_iters=1)
    sDA.fine_tune(X[:1000], y[:1000], n_iters=1)
    pred = sDA.predict(X)
    
    W = sDA.Layers[0].W.T[:, 1:]
    W = utils.saveTiles(W, img_shape= (28,28), tile_shape=(10,10), filename="Results/res_dA.png")
    return pred, y
Example #4
0
def useLayers():
    X, y = utils.load_mnist()
    y = utils.makeMultiClass(y)

    # Layers
    sDA = StackedDA([100])
    sDA.pre_train(X[:1000], rate=0.5, n_iters=500)
    sDA.finalLayer(y[:1000], learner_size=200, n_iters=1)
    sDA.fine_tune(X[:1000], y[:1000], n_iters=1)
    pred = sDA.predict(X)

    W = sDA.Layers[0].W.T[:, 1:]
    W = utils.saveTiles(W,
                        img_shape=(28, 28),
                        tile_shape=(10, 10),
                        filename="Results/res_dA.png")
    return pred, y
Example #5
0
def demo(structure=[25**2, 23**2, 21**2, 19**2, 16**2, 15**2]):
    # Getting the data
    X, y = utils.load_mnist()

    autoencoder = StackedDA([100], alpha=0.01)
    autoencoder.pre_train(X[:1000], 10)

    y = utils.makeMultiClass(y)
    autoencoder.fine_tune(X[:1000],
                          y[:1000],
                          learning_layer=200,
                          n_iters=20,
                          alpha=0.01)

    W = autoencoder.W[0].T[:, 1:]
    W = utils.saveTiles(W,
                        img_shape=(28, 28),
                        tile_shape=(10, 10),
                        filename="Results/res_dA.png")