Exemplo n.º 1
0
def train_model(gen, X, Y, char_idx):
    if os.path.exists(CHECKPOINTS_DIR_PATH):
        yes_or_no = input('There already exists a checkpoint folder, do you \
wish to replace it? y/n: ')
        if yes_or_no[0].lower() == 'y':
            logging.debug('removing folder {}'.format(CHECKPOINTS_DIR_PATH))
            rmtree(CHECKPOINTS_DIR_PATH)
        else:
            if not yes_or_no[0].lower() == 'n':
                print('unknown input')
            logging.info('terminating program')
            return

    logging.debug('creating folder {}'.format(CHECKPOINTS_DIR_PATH))
    os.makedirs(CHECKPOINTS_DIR_PATH)

    logging.info('training model')
    for _ in xrange(N_ITERATIONS):
        seed = random_sequence_from_textfile(DOWNLOADED_QUOTES_PATH, MAXLEN)
        gen.fit(X,
                Y,
                validation_set=0.1,
                batch_size=128,
                n_epoch=1,
                run_id='quote')

        print()
        print('-- TESTING --')
        generate_quote(gen, seed, 100, temperature)
        generate_quote(gen, seed, 100, temperature)
Exemplo n.º 2
0
def main():
    checkpoint_path = sys.argv[1]

    char_idx = get_pkl_file(quote_lstm.CHAR_IDX_PATH)

    gen = quote_lstm.build_model(char_idx)

    logging.debug('loading model')
    gen.load(checkpoint_path)

    while True:
        print()
        temperature = float(input('Which temperature do you want: '))
        length = int(input('What length do you want: '))
        print('\n' * 100)

        seed = random_sequence_from_textfile(quote_lstm.DOWNLOADED_QUOTES_PATH,
                                             quote_lstm.MAXLEN)
        print()
        print('-' * 100)
        quote_lstm.generate_quote(gen, seed, length, temperature)
        print('-' * 100)

        print('Press CTRL+C if you want to quit this program.')
        print()
Exemplo n.º 3
0
import tflearn
from replicator import replicator
import h5py
from tflearn.data_utils import random_sequence_from_textfile
from trainMeta import path, maxlen, batch_size, internal_size, dropout, run_name, redundancy, dataset_name

dataset = h5py.File(dataset_name, 'r')
X = dataset['X']
Y = dataset['Y']
char_idx = {k: v for k, v in enumerate(dataset['charvector'])}

m = replicator(char_idx)

for i in range(100):
    seed = random_sequence_from_textfile(path, maxlen)
    run_identifier = run_name + '_epoch' + str(i)
    m.fit(X,
          Y,
          validation_set=0.2,
          batch_size=batch_size,
          n_epoch=1,
          run_id=run_identifier)
    m.save(run_identifier + '.sqg')
    print "-- TESTING..."
    print "-- Test with temperature of 1.0 --"
    print m.generate(140, temperature=1.0, seq_seed=seed)
    print "-- Test with temperature of 0.5 --"
    print m.generate(140, temperature=0.5, seq_seed=seed)