def compare_iteration(model_prefix, iterations, diversities, training_text, seed_sentence=None): result = {} index = 0 for requested_iteration in iterations: for file_name in [x for x in os.listdir(data_path('')) if x.startswith(model_prefix)]: try: (runid, maxlen, step, lstm_size, rest) = file_name.split('-') (dropout, iteration, rest) = rest.split('_') if str(iteration) != str(requested_iteration): continue (maxlen, step, lstm_size, dropout) = (int(maxlen), int(step), int(lstm_size), float(dropout)) brain = Brain(maxlen=maxlen, lstm_size=lstm_size, dropout=dropout, training_text=training_text) seed_sentence = seed_sentence or brain.random_seed_sentence() print 'sentence: ' + seed_sentence print '---- loading model: ' + file_name model = brain.load_model_with_prefix(file_name) length = 340 for diversity in diversities: generated = brain.generate_full( model=model, n=length, diversity=diversity, seed_sentence=seed_sentence) result[(index, file_name, diversity)] = generated index += 1 print generated except: print "Unexpected error with {}: {}".format(file_name, sys.exc_info()[1]) raise for (ix, name, div), generated in sorted(result.iteritems()): print "ix={}, model={}, div={}| {}".format(ix, name, div, generated.encode('utf-8'))