基于LSTM + keras 的诗歌生成器
- 模型的核心思路:
1 input_tensor = Input(shape=(self.config.max_len, len(self.words))) 2 lstm = LSTM(512, return_sequences=True)(input_tensor) 3 dropout = Dropout(0.6)(lstm) 4 lstm = LSTM(256)(dropout) 5 dropout = Dropout(0.6)(lstm) 6 dense = Dense(len(self.words), activation='softmax')(dropout) 7 self.model = Model(inputs=input_tensor, outputs=dense) 8 optimizer = Adam(lr=self.config.learning_rate) 9 self.model.compile(loss='categorical_crossentropy', optimizer=optimizer, metrics=['accuracy'])
- 第一行: 构造输入向量
- 第二行,构造了一个LSTM layer, hidden units size = 512
- 第三行,构造了一个dropout layer,dropout rate = 0.6
- 第四行,构造了一个LSTM layer,hidden units size = 256
- 第五行,构造了一个dropout layer,dropout rate = 0.6
- 第六行,构造了一个全连接层+softmax 作为 output layer
- 第七行,利用 inputs 和 outputs 构造Model
- 第八行,使用 Adam 优化器
- 第九行,compile model,指定了模型的损失函数类型为交叉熵损失,优化器以及评价指标
- 冒号前的是诗的名字,冒号后的是诗的内容
- 我使用的单卡 RTX2080ti(11G显存) 进行训练,按照作者的默认配置,一共 训练了 34000+ epoch,每个 epoch 耗时 1s 左右,总共训练了接近10个小时。最终得到的keras 可用的模型文件以及训练日志我放到百度云了,地址是:https://pan.baidu.com/s/1XV9InTe9vMmwKNs5lBS-tQ
- predict_first:给定一个汉字,输出一首五言绝句
- predict_random:随机从全部的训练诗作当中抽出一首诗的首句,然后生成一首诗
- predict_gen:给定五个汉字作为首句,生成一首五言绝句
- predict_hide:给定四个汉字,输出以这个四个汉字开头的藏头诗
- 为了方便预测,我封装了一个简单的 命令行工具,提供了四种预测,代码可以参考我对原始repo 的 fork 版本(https://github.com/Lyrichu/Poems_generator_Keras/tree/huchengchun),使用方式如下:
转载于:https://www.cnblogs.com/lyrichu/p/11257408.html
基于LSTM + keras 的诗歌生成器相关推荐
- 基于LSTM + keras 的古诗生成器
1.语料准备:包含 5.5 万首唐诗.26 万首宋诗.2.1 万首宋词和其他古典文集.诗人包括唐宋两朝近 1.4 万古诗人,和两宋时期 1.5 千古词人.数据来源于互联网.每行一首诗,标题在预处理的时 ...
- lstm需要优化的参数_通过Keras 构建基于 LSTM 模型的故事生成器
LSTM 网络工作示意图 什么是 LSTM 网络? LSTM (Long Short Term Memory, 长短期神经网络)是一种特殊的循环神经网络(RNN, Recurrent neural n ...
- 使用Keras 构建基于 LSTM 模型的故事生成器
LSTM 网络工作示意图 什么是 LSTM 网络? LSTM (Long Short Term Memory, 长短期神经网络)是一种特殊的循环神经网络(RNN, Recurrent neural n ...
- Keras深度学习实战(32)——基于LSTM预测股价
Keras深度学习实战(32)--基于LSTM预测股价 0. 前言 1. 模型与数据集分析 1.1 数据集分析 1.2 模型分析 2. 基于长短时记忆网络LSTM预测股价 2.1 根据最近五天的股价预 ...
- tensorflow2.0 基于LSTM模型的文本生成
春水碧于天,画船听雨眠 基于LSTM模型的唐诗文本生成 实验基本要求 实验背景 实验数据下载 LSTM模型分析 实验过程 文本预处理 编解码模型 LSTM模型设置 实验代码 实验结果 总结 致谢 实验 ...
- 人工智能--基于LSTM的文本生成
学习目标: 理解文本生成的基本原理. 掌握利用LSTM生成唐诗宋词的方法. 学习内容: 利用如下代码和100首经典宋词的数据,基于LSTM生成新的词,并调整网络参数,提高生成的效果. poetry50 ...
- bilstm+crf中文分词_基于LSTM的中文分词模型
中文分词任务是一个预测序列的经典问题,已知的方法有基于HMM[1]的分词方法.基于CRF[2]的方法和基于LSTM的分词方法. 本文介绍Xinchi Chen等人[3]提出的基于LSTM的分词方法.根 ...
- 基于LSTM三分类的文本情感分析,采用LSTM模型,训练一个能够识别文本postive, neutral, negative三种
基于LSTM三分类的文本情感分析,采用LSTM模型,训练一个能够识别文本postive, neutral, negative三种 ,含数据集可直接运行 完整代码下载地址:基于LSTM三分类的文本情感分 ...
- java lstm pb_在Tensorflow Serving上部署基于LSTM的文本分类模型
一些重要的概念 Servables Servables 是客户端请求执行计算的基础对象,大小和粒度是灵活的. Servables 不会管理自己的运行周期. 典型的Servables包括: a Tens ...
- 基于深度学习lstm_深度学习和基于LSTM的恶意软件分类
基于深度学习lstm Malware development has seen diversity in terms of architecture and features. This advanc ...
最新文章
- Zabbix服务器性能优化记录
- pip源更换为清华源_kali2020更换国内的源
- CentOS 安装Zabbix 手记
- MySQL读写分离应用层解决
- 阿里百度盛大等全业务布局揭秘
- python列表常用方法_第24p,必须掌握,列表的常用方法
- rvm RuvyGem Cocoapods brew
- 开挂的印度裔00后:7岁“出道”教编程,12岁成为IBM荣誉顾问
- 推荐一门免费提升开发效率的课程,非广告。
- MySql Connector-Java下载
- 用C语言编写约瑟夫环程序,约瑟夫环C语言,请高手检查我的程序
- Postgre 中的空值判断
- 11.PHP memcache 与 memcached 区别
- BZOJ 1146 网络管理Network(树链剖分+BST)
- 新疆职称英语和职称计算机,职称计算机考试题库
- 时钟系统(NTP子母钟系统)如何为高铁系统保驾护航
- ThinkPHP报错The requested URL /index/index/xxx.html was not found on this server.
- Win10 显示无法连接到Internet,但是能上网浏览
- Angular 4入门教程系列:14:PrimeNG的使用方式
- Linux升级glibc