def main(num_epochs=NUM_EPOCHS): print("Loading data...") dataset = load_data() print("Building model and compiling functions...") output_layer = build_model( input_height=dataset["input_height"], input_width=dataset["input_width"], output_dim=dataset["output_dim"] ) iter_funcs = create_iter_functions(dataset, output_layer, X_tensor_type=T.tensor4) print("Starting training...") now = time.time() try: for epoch in train(iter_funcs, dataset): print("Epoch {} of {} took {:.3f}s".format(epoch["number"], num_epochs, time.time() - now)) now = time.time() print(" training loss:\t\t{:.6f}".format(epoch["train_loss"])) print(" validation loss:\t\t{:.6f}".format(epoch["valid_loss"])) print(" validation accuracy:\t\t{:.2f} %%".format(epoch["valid_accuracy"] * 100)) if epoch["number"] >= num_epochs: break except KeyboardInterrupt: pass return output_layer
def main(num_epochs=NUM_EPOCHS): dataset = load_data() output_layer = build_model( input_width=dataset['input_width'], input_height=dataset['input_width'], output_dim=dataset['output_dim'], ) iter_funcs = create_iter_functions( dataset, output_layer, X_tensor_type=T.tensor4, ) print("Starting training...") for epoch in train(iter_funcs, dataset): print("Epoch %d of %d" % (epoch['number'], num_epochs)) print(" training loss:\t\t%.6f" % epoch['train_loss']) print(" validation loss:\t\t%.6f" % epoch['valid_loss']) print(" validation accuracy:\t\t%.2f %%" % (epoch['valid_accuracy'] * 100)) if epoch['number'] >= num_epochs: break return output_layer
def main(num_epochs=NUM_EPOCHS): dataset = load_data() output_layer = build_model( input_height=dataset['input_height'], input_width=dataset['input_width'], output_dim=dataset['output_dim'], ) iter_funcs = create_iter_functions( dataset, output_layer, X_tensor_type=T.tensor4, ) print("Starting training...") for epoch in train(iter_funcs, dataset): print("Epoch %d of %d" % (epoch['number'], num_epochs)) print(" training loss:\t\t%.6f" % epoch['train_loss']) print(" validation loss:\t\t%.6f" % epoch['valid_loss']) print(" validation accuracy:\t\t%.2f %%" % (epoch['valid_accuracy'] * 100)) if epoch['number'] >= num_epochs: break
def main(num_epochs=NUM_EPOCHS): print("Loading data...") dataset = load_data() print("Building model and compiling functions...") output_layer = build_model( input_height=dataset['input_height'], input_width=dataset['input_width'], output_dim=dataset['output_dim'], ) iter_funcs = create_iter_functions( dataset, output_layer, X_tensor_type=T.tensor4, ) print("Starting training...") now = time.time() try: for epoch in train(iter_funcs, dataset): print("Epoch {} of {} took {:.3f}s".format( epoch['number'], num_epochs, time.time() - now)) now = time.time() print(" training loss:\t\t{:.6f}".format(epoch['train_loss'])) print(" validation loss:\t\t{:.6f}".format(epoch['valid_loss'])) print(" validation accuracy:\t\t{:.2f} %%".format( epoch['valid_accuracy'] * 100)) if epoch['number'] % 100 is 0: #### save and load weights # save weights_save = lasagne.layers.get_all_param_values(output_layer) pickle.dump( weights_save, open( "weights_epoch%d.pkl" % epoch['number'], "wb" ) ) # load #weights_load = pickle.load( open( "weights.pkl", "rb" ) ) #lasagne.layers.set_all_param_values(output_layer, weights_load) if epoch['number'] >= num_epochs: break except KeyboardInterrupt: pass return output_layer
def main(): BATCH_SIZE = 100 MAX_PHRASE_LENGTH = 108 NUM_DATAPOINTS = 10000 print("Loading data...") dataset = load_data(n=NUM_DATAPOINTS, max_phrase_length=MAX_PHRASE_LENGTH) print("Building model and compiling functions...") output_layer = build_model( #input_height=dataset['input_height'], #input_width=dataset['input_width'], batch_size=BATCH_SIZE, max_phrase_length=MAX_PHRASE_LENGTH, output_dim=dataset['output_dim'], ) iter_funcs = create_iter_functions( dataset, output_layer, X_tensor_type=T.tensor3, batch_size=BATCH_SIZE, learning_rate=0.001, momentum=0.9, ) print("Starting training...") now = time.time() try: for epoch in train(iter_funcs, dataset, BATCH_SIZE): print("Epoch {} of {} took {:.3f}s".format( epoch['number'], num_epochs, time.time() - now)) now = time.time() print(" training loss:\t\t{:.6f}".format(epoch['train_loss'])) print(" validation loss:\t\t{:.6f}".format(epoch['valid_loss'])) print(" validation accuracy:\t\t{:.2f} %%".format( epoch['valid_accuracy'] * 100)) if epoch['number'] >= num_epochs: break except KeyboardInterrupt: pass return output_layer
def main(num_epochs=NUM_EPOCHS): print("Loading data...") dataset = load_data() print("Building model and compiling functions...") output_layer = build_model( input_height=dataset['input_height'], input_width=dataset['input_width'], output_dim=dataset['output_dim'], ) iter_funcs = create_iter_functions( dataset, output_layer, X_tensor_type=T.tensor4, ) print("Starting training...") now = time.time() try: for epoch in train(iter_funcs, dataset): print("Epoch {} of {} took {:.3f}s".format(epoch['number'], num_epochs, time.time() - now)) now = time.time() print(" training loss:\t\t{:.6f}".format(epoch['train_loss'])) print(" validation loss:\t\t{:.6f}".format(epoch['valid_loss'])) print(" validation accuracy:\t\t{:.2f} %%".format( epoch['valid_accuracy'] * 100)) if epoch['number'] >= num_epochs: break except KeyboardInterrupt: pass return output_layer