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)
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,
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)