python keras基于LSTM网络训练一个伪原创文章人工智能模型代码
代码语言:python
所属分类:人工智能
代码描述:python keras基于LSTM网络训练一个伪原创文章人工智能模型代码
代码标签: python keras LSTM 网络 人工 智能 伪原创
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import numpy from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, LSTM from tensorflow.keras.callbacks import ModelCheckpoint from tensorflow.python.keras.utils import np_utils # 读取txt文件 # filename = 'article.txt' # with open(filename, 'r', encoding='utf-8') as f: raw_text ="Keras是一个高级的神经网络API,利用它能够轻松地搭建一些复杂的神经网络模型,是一个不错的深度学习框架。对于刚才得到的旅游点评,为了能够生成其他的旅游点评(人类可读),我们将会用到LSTM模型,之所以使用这个模型,是因为LSTM具有长短时记忆功能,能够很好地处理文本中的文字之间的联系,而不是将文字看成是独立的个体。在搭建LSTM模型之前,我们需要做一些准备工作。首先我们需要将每个文字对应到一个数字,该模型的输入特征向量为前10个文字对应的数字组成的向量,目标变量为该10个文字的下一个文字对应的数字。该txt文件中一共有1949个文字(包括汉子和标点符号),按照我们的处理模式,共有41402个样本,将这些样本传入到LSTM模型中。我们建立的模型很简单,先是一个LSTM层,利用含有256个LSTM结构,然后是一个Dropout层,能有效防止模型发生过拟合,最后是Softmax层,将它转化为多分类的问题,采用交叉熵作为模型的损失函数。" # 创建文字和对应数字字典 chars = sorted(list(set(raw_text))) char_to_int = dict((c, i) for i, c in enumerate(chars)) int_to_char = dict((i, c) for i, c in enumerate(chars)) # 对加载数据做总结 n_chars = len(raw_text) n_vocab = len(chars) print("总的文字数:", n_chars) print("总的文字类别:", n_vocab) # 生成数据集,转化为输入向量和输出向量 seq_length = 10 dataX = [] dataY = [] for i in range(0, n_chars - seq_length, 1): seq_in = raw_text[i: i + seq_length] # 输入前10个字 .........完整代码请登录后点击上方下载按钮下载查看
网友评论0