基于LSTM网络的文本生成

该博客介绍了如何利用LSTM网络进行文本生成。首先,文章读取整个文本作为输入数据,然后通过调整softmax的温度参数来控制生成过程的随机性。接着,文章详细阐述了文本生成的循环过程,包括从原文本中选择一个60字符的子串,使用one-hot编码进行训练,并预测下一个字符,不断循环生成新的文本。不同温度值会产生不同的生成结果。
摘要由CSDN通过智能技术生成
import tensorflow as tf
import numpy as np
import os

#使用cpu进行运算,注释掉使用gpu运算
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"


# 读取文件,所有文本读成一个字符串,总长度为600893
path = tf.keras.utils.get_file('nietzsche.txt',origin='https://s3.amazonaws.com/text-datasets/nietzsche.txt')
text = open(path).read().lower()
print('Cropus length',len(text))

首先读取数据,这个数据是一篇文章,包含的所有字符全部读取成一个字符串。
这里有个cpu个gpu切换的两行代码,注释掉这两行使使用gpu环境,这是首先安装gpu版的tensorflow。

# 采样过程,一个句子长度为60,隔3步取60长度为60的样本,总样本量为200278,
# 一个样本长度为60
maxlen = 60   
step = 3
sentences = []
next_chars = []
for i in range(0, len(text) - maxlen, step):
    sentences.append(text[i:i + maxlen])
    next_chars.append(text[i + maxlen
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值