Ejemplo n.º 1
0
 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()
Ejemplo n.º 2
0
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':