def setup_network(self, n_features): if self.net_type == 'lstm': self.network = CharLSTM(self.vocab_size, self.net_hidden, self.batch_size) elif self.net_type == 'irnn': self.network = CharIRNN(self.vocab_size, self.net_hidden, self.batch_size) else: error("Unknown net_type") self.reset_accum_loss()
n_epochs = args.epochs n_units = args.rnn_size batchsize = args.batchsize bprop_len = args.seq_length grad_clip = args.grad_clip train_data, words, vocab = load_data(args) pickle.dump(vocab, open('%s/vocab.bin' % args.data_dir, 'wb')) if len(args.init_from) > 0: model = pickle.load(open(args.init_from, 'rb')) else: if args.net == 'lstm': model = CharLSTM(len(vocab), n_units) elif args.net == 'irnn': model = CharIRNN(len(vocab), n_units) else: error("unknown net") state = model.make_initial_state(n_units, batchsize=batchsize) if args.gpu >= 0: cuda.init() model.to_gpu() if args.optimizer == 'rmsprop': optimizer = optimizers.RMSprop(lr=args.learning_rate, alpha=args.decay_rate) elif args.optimizer == 'adam': optimizer = optimizers.Adam() elif args.optimizers == 'adagrad':