原标题:Tensorflow:基于LSTM轻松生成各种古诗

本文代码在公众号 datadw 里 回复古诗即可获取。

RNN不像传统的神经网络-它们的输出输出是固定的,而RNN允许我们输入输出向量序列。RNN是为了对序列数据进行建模而产生的。

样本序列性:样本间存在顺序关系,每个样本和它之前的样本存在关联。比如说,在文本中,一个词和它前面的词是有关联的;在气象数据中,一天的气温和前几天的气温是有关联的。

例如本帖要使用RNN生成古诗,你给它输入一堆古诗词,它会学着生成和前面相关联的字词。如果你给它输入一堆姓名,它会学着生成姓名;给它输入一堆古典乐/歌词,它会学着生成古典乐/歌词,甚至可以给它输入源代码。

关于RNN:

TensorFlow练习3: RNN, Recurrent Neural Networks

http://karpathy.github.io/2015/05/21/rnn-effectiveness/

本帖代码移植自char-rnn,https://github.com/karpathy/char-rnn

它是基于Torch的洋文模型,稍加修改即可应用于中文。char-rnn使用文本文件做为输入、训练RNN模型,然后使用它生成和训练数据类似的文本。

使用的数据集:全唐诗(43030首):

本文代码在公众号 datadw 里 回复古诗即可获取。

模型生成

首先我们要训练好模型。这里采用的是2层的LSTM框架,每层有128个隐藏层节点,batch_size设为64。训练数据来源于全唐诗(可在上面百度云资源分享当中找到)。特别注意到的一点是这里每训练完一次就对训练数据做shuffle。

源代码如下:

使用该代码会将训练好的模型参数保存在 “model” 文件夹下。经过100个epoch之后,平均loss会降到2.6左右。训练好的模型在公众号 datadw 里 回复古诗即可获取。

生成古诗

使用训练好的模型可以轻松生成各种古诗。

下面就是几个例子:

生成藏头诗

上代码:

最后从函数接口可以看到,除了可以自己定义诗的头外,还可以定义是五言绝句还是七言绝句。

来看几个五言绝句的例子:

再来看几个七言绝句的例子:

那么是不是可以用它来写情诗呢?

当然可以啦!

via http://blog.csdn.net/u014232627/article/details/71189078返回搜狐,查看更多

责任编辑:

java rnn生成古诗_Tensorflow:基于LSTM轻松生成各种古诗相关推荐

  1. 第11课:动手实战基于 LSTM 轻松生成各种古诗

    目前循环神经网络(RNN)已经广泛用于自然语言处理中,可以处理大量的序列数据,可以说是最强大的神经网络模型之一.人们已经给 RNN 找到了越来越多的事情做,比如画画和写诗,微软的小冰都已经出版了一本诗 ...

  2. java rnn生成古诗_Tensorflow 基于RNN生成古诗词 自己的实践

    在网上看到一篇利用Tensorflow+RNN模型生成古诗词的练习,觉得挺有意思的便自己来试了下,算是熟悉下Tensorflow+NLP的基本操作流程 首先pip 安装NLTK 在你的Tensorfl ...

  3. 请谈谈你对这句话的理解:“所见的是暂时的,所不见的是永远的”5.3 先来先服务调度算法为什么苏联解体的时候,戈尔巴乔夫演讲的当时,电视的所有频道都在放《天鹅湖》介绍一下LSTM文本生成模型

    目录 请谈谈你对这句话的理解:"所见的是暂时的,所不见的是永远的" 5.3 先来先服务调度算法 为什么苏联解体的时候,戈尔巴乔夫演讲的当时,电视的所有频道都在放<天鹅湖> ...

  4. 生成模型一文认识图像生成

    最近看了一些图像生成的论文和博客,觉得要总结一下.本文主要介绍图像生成技术,包括研究背景.研究意义.相关应用.以及所用到的技术. 目录 一.背景与意义 二.图像生成应用 2.1 图像到图像的转换 2. ...

  5. 自然语言处理实战-基于LSTM的藏头诗和古诗自动生成

    自然语言处理实战-基于LSTM的藏头诗和古诗自动生成 第一次写也是自己的第一篇博客,分享一下自己做的实验以及遇到的一些问题和上交的结课作业.资源都是开源的,参考文章写的很好,菜鸟的我也能理解.原文链接 ...

  6. Tensorflow:基于LSTM生成藏头诗

    Tensorflow:基于LSTM生成藏头诗 最近在学习TensorFlow,学习到了RNN这一块,相关的资料不是很多,了解到使用RNN可以生成藏头诗之后,我就决定拿这个下手啦! 本文不介绍RNN以及 ...

  7. tensorflow2.0 基于LSTM模型的文本生成

    春水碧于天,画船听雨眠 基于LSTM模型的唐诗文本生成 实验基本要求 实验背景 实验数据下载 LSTM模型分析 实验过程 文本预处理 编解码模型 LSTM模型设置 实验代码 实验结果 总结 致谢 实验 ...

  8. 基于LSTM、RNN及滑动窗口CNN模型的股票价格预测

    基于LSTM.RNN及滑动窗口CNN模型的股票价格预测 Abstract 股票市场或股票市场对当今经济产生深远影响.股价的上涨或者下跌对投资者的收益具有重要的决定作用.现有的预测方法使用线性(AR,M ...

  9. 基于LSTM的音乐生成学习全过程的总结

    基于LSTM的音乐生成学习全过程的总结 由于笔者日常酷爱唱歌,酷爱音乐,再加上现在是计算机专业硕士在读.也是这个假期确定下来要做人工智能音乐的方向,也就开始了我对AI音乐的学习. 从最基本的旋律生成开 ...

最新文章

  1. SparkSQL核心编程
  2. maven热部署插件-jetty
  3. Good Bye 2018题解
  4. php 根据坐标计算范围内,php计算经纬度是否在区域内
  5. 向前欧拉公式例题_干货丨阅读理解答题万能公式,语文考试高分秘籍!
  6. Redis面试常问4-- 如何实现异步队列 Blpop key timeout
  7. 调整PowerDesigner各种字体大小
  8. html元素上下移动,一个可以上下摆动的html元素
  9. linux串口API编程
  10. 汽车产业与技术链分析
  11. php下载MP4视频
  12. What is pessimistic locking in Hibernate
  13. java基础 day12-FileInputStream类,文件的复制,缓冲流,Propertes文件,xml文件读写,网络socket编程(构建TCP客户端),内部类
  14. MATLAB:Radon正变换的理解
  15. 深度学习 GAN生成对抗网络-1010格式数据生成简单案例
  16. 查看网站服务器版本,查看网站为TLS或SSL及其版本
  17. bios怎么设置USB启动
  18. 3d打印机喷头出现堵丝问题
  19. GitHub上买房攻略开源,一夜之间涨星近千,网友说:正好需要!
  20. Fluent求解器——亚松弛因子

热门文章

  1. 京东JAVA面试心得与面试题详解
  2. 第三篇 第十章建筑灭火器配置(二)
  3. SQL注入(SQL Injection)类型和sqlmap语句编写的的逻辑关系
  4. java判断字符的大小写_java 字符串中判断字母大小写方法
  5. 程序猿养生之道(一) ——养生先养心
  6. 斑马网络和荣威RX5深度研究
  7. 2013年电商业务学习总结(即工作总结)-电商整体流程(线上)
  8. IE10及其以下版本不支持Javascript Map对象(“Map”未定义)
  9. 手游服务器ip文件夹,手游客户端服务器ip
  10. 生了四位皇帝两位皇后的传奇女性