文本生成(字符级)

1. LSTM 简介

 各个神经元计算公式:

各层格式:

1. input层:                     (batch_size, sequence_length, number_features)

2. output层:                  (batch_size, sequence_length, hidden_size)

3. Linear层(全连接层):  (batch_size, n_hidden)

参数含义:

    batch_size: 每批多少个序列;

    sequence_length: 序列长度(步长);

    number_features: 特征个数;

    hidden_size: 隐藏层节点个数,n_hidden亦是。

2. 文本预测

本质上是分类问题

3. 数据加载

1. 获得字符表

          这里共计83个,具体方法:将文本文件按字符去重,转换为arr。

def get_vocab():
    with open('../data/anna.txt') as f:
        text = f.read()

    vocab = np.array(sorted(set(text)))
    vocab_size = len(vocab)
    print(vocab_size)
    return vocab

2. 获得验证集测试集

def get_train_val_data_set():
    with open('../data/anna.txt') as f:
        text = f.read()

    # 设置验证集占比20%
    val_len = int(np.floor(len(text) * 0.2))
    train_set = np.array(list(text[:-val_len]))
    val_set = np.array(list(text[-val_len:]))
    return train_set, val_set

3.  使用批处理方式加载数据

# data: 数据源,格式(num_samples, num_features)
# return: 新的数据集,格式(batch_size, seq_len, num_featu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值