用深层LSTM实现简单的自然语言建模

我的GitHub
一个有10000个不同单词的文本,通过深层lstm来实现句子下一单词的预测。
数据来源
通过reader.ptb_raw_data函数来读入文本,并将单词转换为数字id
然后通过PTBModel类来搭建深层LSTM模型

import tensorflow as tf
import numpy as np 
import reader

DATA_PATH = "data"
HIDDEN_SIZE = 200
NUM_LAYERS = 2
VOCAB_SIZE = 10000
LEARNING_RATE = 1.0
TRAIN_BATCH_SIZE = 20
TRAIN_NUM_STEP = 35

EVAL_BATCH_SIZE = 1#学习速率
EVAL_NUM_STEP = 1
NUM_EPOCH = 2#训练轮数
KEEP_PROB = 0.5#不dropout的概率
MAX_GRAD_NORM = 5#控制梯度膨胀的参数

class PTBModel(object):
    def __init__( self, is_training, batch_size, num_steps ):
        self.batch_size = batch_size
        self.num_steps = num_steps

        #初始化输入数据的维度
        self.input_data = tf.placeholder( tf.int32, [batch_size, num_steps] )
        self.targets = tf.placeholder( tf.int32, [b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值