RNNPoet项目

相关文章

项目介绍

文字预处理脚本介绍

梯度处理函数介绍

1、文件简介

LSTM_model.py:LSTM网络模型,提供了end_points接口,被其他部分调用

poetry_porcess.py:数据读取、预处理部分,会返回打包好的batch,被main调用

gen_poetry.py:古诗生成程序,拥有可选的风格参数,被main调用

main.py:主函数,既可以调用前两个程序获取预处理数据并使用LSTM网络进行训练,也可以调用gen_poetry.py生成古诗

2、调用指令

使用编辑工具进入main.py,可以看到程序末尾有如下指令,

if __name__ == "__main__":

words,poetry_vector,to_num,x_batches,y_batches = poetry_porcess.poetry_process()

# train(words, poetry_vector, x_batches, y_batches)

# gen_poetry(words, to_num)

generate(words_, to_num_, style_words="狂沙将军战燕然,大漠孤烟黄河骑。")

此时实际上处于生成模式,对于最后的三行, train:表示训练 gen_poetry:表示根据首字符生成 generate:表示根据首句和风格句生成古诗

训练模型

注释掉后两行,保留train行,即修改如下,

if __name__ == "__main__":

words,poetry_vector,to_num,x_batches,y_batches = poetry_porcess.poetry_process()

train(words, poetry_vector, x_batches, y_batches)

# gen_poetry(words, to_num)

# generate(words_, to_num_, style_words="狂沙将军战燕然,大漠孤烟黄河骑。")

然后运行脚本,

python main.py

即开始训练。

生成古诗

使用最上面的原版就可以,即如下所示

if __name__ == "__main__":

words,poetry_vector,to_num,x_batches,y_batches = poetry_porcess.poetry_process()

# train(words, poetry_vector, x_batches, y_batches)

# gen_poetry(words, to_num)

generate(words_, to_num_, style_words="狂沙将军战燕然,大漠孤烟黄河骑。")

运行脚本,

python main.py

即可显示结果。

如果希望更换风格,同样在这几行代码中(就是最后一行),

generate(words_, to_num_, style_words="狂沙将军战燕然,大漠孤烟黄河骑。")

可以替换style_word为任何你想要的风格句,注意最好使用7言或者5言,因为这句会大概率影响到你生成的古诗的句子长度(不绝对),这只是风格提取,你可以输入任意长度;在运行了脚本后,屏幕会提示输入起始句,输入的句子一般5或者7个字,这个由于会拿来直接做首句(由结果示范可以看到),输入长度不宜过长。

3、结果示范

head:床前明月光 + style:黄沙百战金甲:

床前明月光辉,魏武征夫血絮红。

数步崩云复遗主,缟衣东,帝京举,玉轮还满出书初。

秋秋惨惨垂杨柳,梦断黄莺欲断肠。

花凋柳映阮家几,屋前病,歇马空留门。

当年皆月林,独往深山有素。

head:少小离家老大回 + style:山雨欲来风满楼:

少小离家老大回,四壁百月弄鸦飞。

扫香花间春风地,隔天倾似烂桃香。

近来谁伴清明日,两株愁味在罗帏。

仍通西疾空何处,轧轧凉吹日方明。

head:少小离家老大回 + style:铁马冰河入梦来:

少小离家老大回,化空千里便成丝。

官抛十里同牛颔,莫碍风光雪片云。

饮水远涛飞汉地,云连城户翠微低。

一树铁门万象耸,白云三尺各关高。

同言东甸西游子,谁道承阳要旧忧。

少小离家老大回,含颦玉烛拂楼台。

初齐去府芙蓉死,细缓行云向国天。

python输出古诗词_使用LSTM训练生成古诗模型,其中生成器可以指定生成风格进行输出...相关推荐

  1. python训练模型函数参数_keras读取训练好的模型参数并把参数赋值给其它模型详解...

    介绍 本博文中的代码,实现的是加载训练好的模型model_halcon_resenet.h5,并把该模型的参数赋值给两个不同的新的model. 函数式模型 官网上给出的调用一个训练好模型,并输出任意层 ...

  2. python readfile 管道_使用win32的正确方法是什么文件.ReadFile从管道中获取输出?

    我正在使用pywin32扩展来访问Python下的win32api.我是用Python编写Windows编程的新手--我是一个POSIX的人--所以我可能是在用一种头脑简单的方式做事.在 我试图正确地 ...

  3. python 数据编码器_用Keras训练我的数据自动编码器

    我有一个自动编码器写在Keras,如下所示.但是,我有以下错误:ValueError: Error when checking model input: the list of Numpy array ...

  4. python输入输出字符串_在线等 python--编写下列程序。 用户输入一段字符串,输出该字符串的长度小写大写形式...

    import binascii # python>=3.7 str_in = input('请输入一个字符串:') print(f'长度:{len(str_in)}\n' f'大写:{str_i ...

  5. python按列输出字符_如何根据条件在Pandas中构建新列(新列应输出字符串)

    我尝试在pandas中创建一个专栏,使用条件来创建一个定性观察.在 例如,如果数据帧如下所示:Distance 1 1 2 5 3 40 4 15 我想创建一个新列(我们称之为df['length'] ...

  6. python输入长和宽输出面积_请用C++编写 从键盘上输入长方形的长和宽,输出周长和面积...

    满意答案 cd12008 2015.05.22 采纳率:41% 等级:9 已帮助:462人 #include using namespace std; class Rectangle { double ...

  7. bilstm+crf中文分词_基于LSTM的中文分词模型

    中文分词任务是一个预测序列的经典问题,已知的方法有基于HMM[1]的分词方法.基于CRF[2]的方法和基于LSTM的分词方法. 本文介绍Xinchi Chen等人[3]提出的基于LSTM的分词方法.根 ...

  8. yii2表单数据检查怎么自定义输出错误_人人都熟知的AIDA模型,怎么结合GA进行用户分析?...

    AIDA模型我们都知道,但怎么结合自己的业务使用? 它将用户行为划分为了5个阶段: 注意或意识 利益 欲望 行动 留存 为了分析整个用户旅程中的行为变化,我们通常会去监测相关的用户接触点. 但仅仅是数 ...

  9. python中如何保存并使用训练好的模型并调用

    原文链接:https://jingyan.baidu.com/article/09ea3edec0b3ad81aede3996.html

最新文章

  1. [英文面試]如何寫面試後的感謝信
  2. docker如何移除所有的mysql_docker容器删除了,link怎么还在?
  3. Android关机流程源码分析
  4. 同一事务多次加for_谈谈事务隔离级别,以及悲观锁和乐观锁的原理和应用场景...
  5. 玩转 VS Code 专栏
  6. 前端实习生笔试_前端实习生面试题——HTML
  7. sd省队集训d1t1
  8. python绘图背景透明_如何在 Matplotlib 中更改绘图背景
  9. COJ976 WZJ的数据结构(负二十四)
  10. 修改注册表禁用触摸板
  11. wps如何只让他显示3级标题_wps怎么设置标题等级怎么设置多级标题及标题行重复...
  12. 大数据如何可以推动员工敬业度
  13. 企业微信网页应用开发 - 异步请求
  14. 【2021年度总结】不断学习的卡卡
  15. 二进制转十六进制(参考XYJ)
  16. 建立大数据分析能力需四大要素
  17. FPGA学习笔记(七): DSB调制解调的仿真
  18. 【图片无损压缩利器】Image Optimizer
  19. (九)统计学习方法 | 隐马尔可夫模型
  20. Python 生成总和一定的随机数

热门文章

  1. android微信如何禁用拍一拍,微信拍一拍怎么样关闭 微信拍一拍功能关闭方法
  2. 囫囵C语言(写在前面的话)
  3. 金山游戏原“五虎将”今何在?
  4. 计算机网络在铁路信号中的应用,计算机网络在铁路信号中应用.doc
  5. transformer简介
  6. 位,字节,字,字长概念
  7. win10磁盘占用过大的问题(亲测有效)
  8. 组播报文转发过程RPF
  9. 逆变器直流电压利用率
  10. linux中文应用软件,Linux的桌面中文应用软件