batch_set = MiniBatches(dataset, batch_size=32) if __name__ == '__main__': ap = ArgumentParser() ap.add_argument("--model", default=os.path.join(os.path.dirname(__file__), "models", "sequence_adding_100_2.gz")) args = ap.parse_args() model = NeuralRegressor(input_dim=2, input_tensor=3, clip_value=3.) model.stack_layer(IRNN(hidden_size=100, output_size=1, input_type="sequence", output_type="one", output_activation="linear")) if os.path.exists(args.model): model.load_params(args.model) conf = TrainerConfig() conf.learning_rate = LearningRateAnnealer.learning_rate(0.01) conf.max_norm = 1 conf.patience = 50 conf.gradient_tolerance = 5 trainer = SGDTrainer(model, conf) annealer = LearningRateAnnealer(trainer, patience=20) trainer.run(batch_set, controllers=[annealer]) model.save_params(args.model) print "Identity matrix weight:" print model.first_layer().W_h.get_value().diagonal()