Esempio n. 1
0
from ztlearn.optimizers import register_opt

x, y, seq_len = gen_mult_sequence_xtyt(1000, 10, 10)
train_data, test_data, train_label, test_label = train_test_split(
    x, y, test_size=0.4)

# plot samples of training data
print_seq_samples(train_data, train_label)

# optimizer definition
opt = register_opt(optimizer_name='rmsprop', momentum=0.01, learning_rate=0.01)
# opt = register_opt(optimizer_name = 'adadelta', momentum = 0.01, learning_rate = 1)

# model definition
model = Sequential()
model.add(GRU(10, activation='tanh', input_shape=(10, seq_len)))
model.compile(loss='categorical_crossentropy', optimizer=opt)

model.summary('seq gru')

model_epochs = 100
fit_stats = model.fit(train_data,
                      train_label,
                      batch_size=100,
                      epochs=model_epochs,
                      validation_data=(test_data, test_label))

print_seq_results(model.predict(test_data, (0, 2, 1)),
                  test_label,
                  test_data,
                  unhot_axis=2)
Esempio n. 2
0
from ztlearn.optimizers import register_opt

text = open(
    '../../../ztlearn/datasets/text/nietzsche_short.txt').read().lower()
x, y, len_chars = gen_char_sequence_xtyt(text, maxlen=30, step=1)
del text

train_data, test_data, train_label, test_label = train_test_split(
    x, y, test_size=0.4)

# optimizer definition
opt = register_opt(optimizer_name='rmsprop', momentum=0.1, learning_rate=0.01)

# model definition
model = Sequential()
model.add(GRU(128, activation='tanh', input_shape=(30, len_chars)))
model.compile(loss='categorical_crossentropy', optimizer=opt)

model.summary('nietzsche gru')

model_epochs = 20
fit_stats = model.fit(train_data,
                      train_label,
                      batch_size=128,
                      epochs=model_epochs,
                      validation_data=(test_data, test_label),
                      verbose=False)

model_name = model.model_name
plot_metric('loss',
            model_epochs,
Esempio n. 3
0
from ztlearn.datasets.digits import fetch_digits
from ztlearn.dl.layers import GRU, Dense, Flatten

data = fetch_digits()
train_data, test_data, train_label, test_label = train_test_split(
    data.data, data.target, test_size=0.33, random_seed=15)

# plot samples of training data
plot_img_samples(train_data, train_label)

# optimizer definition
opt = register_opt(optimizer_name='rmsprop', momentum=0.01, lr=0.001)

# model definition
model = Sequential()
model.add(GRU(128, activation='tanh', input_shape=(8, 8)))
model.add(Flatten())
model.add(Dense(10, activation='softmax'))  # 10 digits classes
model.compile(loss='categorical_crossentropy', optimizer=opt)

model.summary('digits_gru')

model_epochs = 100
fit_stats = model.fit(train_data.reshape(-1, 8, 8),
                      one_hot(train_label),
                      batch_size=128,
                      epochs=model_epochs,
                      validation_data=(test_data.reshape(-1, 8, 8),
                                       one_hot(test_label)),
                      shuffle_data=True)