相关疑难解决方法(0)

如何计算张量流中RNN的困惑度

我正在运行单词RNN的张量流的RNN实现

如何计算RNN的困惑度.

以下是培训中的代码,显示每个时期的培训损失和其他事项:

for e in range(model.epoch_pointer.eval(), args.num_epochs):
        sess.run(tf.assign(model.lr, args.learning_rate * (args.decay_rate ** e)))
        data_loader.reset_batch_pointer()
        state = sess.run(model.initial_state)
        speed = 0
        if args.init_from is None:
            assign_op = model.batch_pointer.assign(0)
            sess.run(assign_op)
            assign_op = model.epoch_pointer.assign(e)
            sess.run(assign_op)
        if args.init_from is not None:
            data_loader.pointer = model.batch_pointer.eval()
            args.init_from = None
        for b in range(data_loader.pointer, data_loader.num_batches):
            start = time.time()
            x, y = data_loader.next_batch()
            feed = {model.input_data: x, model.targets: y, model.initial_state: state,
                    model.batch_time: speed}
            summary, train_loss, state, _, _ = sess.run([merged, model.cost, model.final_state,
                                                         model.train_op, model.inc_batch_pointer_op], feed)
            train_writer.add_summary(summary, …
Run Code Online (Sandbox Code Playgroud)

python lstm tensorflow recurrent-neural-network

9
推荐指数
1
解决办法
6213
查看次数

如何为使用keras训练的语言模型计算困惑?

在Windows 10上使用Python 2.7 Anaconda

我已经训练了一个GRU神经网络来使用keras构建语言模型:

print('Build model...')
model = Sequential()
model.add(GRU(512, return_sequences=True, input_shape=(maxlen, len(chars))))
model.add(Dropout(0.2))
model.add(GRU(512, return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(len(chars)))
model.add(Activation('softmax'))

model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
Run Code Online (Sandbox Code Playgroud)

如何计算这种语言模型的困惑?例如,NLTK为其模型提供了困惑度计算功能。

python nlp language-model keras

2
推荐指数
1
解决办法
3049
查看次数