Esempio n. 1
0
    x_train[y_train == 2][:500],
    x_train[y_train == 3][:500],
    x_train[y_train == 4][:500],
    x_train[y_train == 5][:500],
    x_train[y_train == 6][:500],
    x_train[y_train == 7][:500],
    x_train[y_train == 8][:500],
    x_train[y_train == 9][:500]
], (500 * 10, 28, 28))
np.random.shuffle(x_train)

# generator model
noise_size = 100
G = create_model([
    Dense(200, input_shape=(1, noise_size)),
    LeakyReLU(0.2),
    Dense(784),
    Sigmoid()
], He(), Adam, {'learning_rate': 0.0001, 'beta_1': 0.5})

# discriminator
D = create_model([
    Dense(200, input_shape=(1, 784)),
    LeakyReLU(0.2),
    Dense(1),
    Sigmoid()
], He(), Adam, {'learning_rate': 0.0001, 'beta_1': 0.5})

# params
loss = BinaryCrossEntropy()
epochs = 50
batch_size = 8
Esempio n. 2
0
import sys
sys.path.append('..')

import numpy as np

from net.layers import Dense
from net.activations import Sigmoid
from net.losses import MSE
from net.optimizers import Momentum
from net.initializers import Xavier
from net.utils import create_model, train, test

X = np.reshape([[0, 0], [0, 1], [1, 0], [1, 1]], (4, 1, 2))
Y = np.reshape([[0], [1], [1], [0]], (4, 1, 1))

model = create_model(
    [Dense(3, input_shape=(1, 2)),
     Sigmoid(), Dense(1),
     Sigmoid()], Xavier(), Momentum, {'learning_rate': 0.1})
mse = MSE()

train(model, mse, X, Y, epochs=1000)
print('error on test set:', test(model, mse, X, Y))
Esempio n. 3
0
import sys
sys.path.append('..')

import numpy as np

from net.layers import Dense
from net.activations import Tanh
from net.losses import MSE
from net.optimizers import SGD
from net.initializers import Xavier
from net.utils import create_model, train, test

X = np.reshape([[0, 0], [0, 1], [1, 0], [1, 1]], (4, 1, 2))
Y = np.reshape([[0], [1], [1], [0]], (4, 1, 1))

model = create_model([
    Dense(3, input_shape=(1, 2)),
    Tanh(),
    Dense(1),
    Tanh()
], Xavier(), SGD, {'learning_rate': 0.1})
mse = MSE()

train(model, mse, X, Y, epochs=1000)
print('error on test set:', test(model, mse, X, Y))
Esempio n. 4
0

def load_data(n):
    (x_train, y_train), (x_test, y_test) = mnist.load_data()

    x_train = x_train.astype('float32')
    x_train /= 255
    y_train = np_utils.to_categorical(y_train)

    x_test = x_test.astype('float32')
    x_test /= 255
    y_test = np_utils.to_categorical(y_test)

    return x_train[:n], y_train[:n], x_test, y_test


model = create_model([
    Reshape((1, 784), input_shape=(28, 28)),
    Dense(50),
    Tanh(),
    Dense(20),
    Tanh(),
    Dense(10),
    Softmax()
], Xavier(), SGD, {'learning_rate': 0.1})
mse = MSE()

x_train, y_train, x_test, y_test = load_data(1000)
train(model, mse, x_train, y_train, epochs=30)
print('error on test set:', test(model, mse, x_test, y_test))
    x_train = x_train.astype('float32')
    x_train /= 255

    x_test = x_test.astype('float32')
    x_test /= 255

    return x_train[:n], x_test


model = create_model([
    Reshape((1, 784), input_shape=(28, 28)),
    Dense(30),
    Tanh(),
    Dense(16),
    Tanh(),
    Dense(30),
    Tanh(),
    Dense(784),
    Reshape((28, 28))
], Xavier(), SGD, {'learning_rate': 0.1})
mse = MSE()

x_train, x_test = load_data(1000)
train(model, mse, x_train, x_train, epochs=50)
print('error on test set:', test(model, mse, x_test, x_test))

encoder = model[:5]
decoder = model[5:]

f, ax = plt.subplots(5, 3)