pytorch_LSTM_写诗
Poetry Generator
诗歌生成器
使用pytorch和LSTM模型,实现续写诗词或写藏头诗
并借助flask上可在浏览器上测试
http://127.0.0.1:5000/generator
html,flask这块是弱项,仅仅实现了功能
环境 :
- python3.7
- flask 1.1.1
- torch 1.4
数据源 :
中国诗词(直接将其json文件夹放在input文件夹内)
然后将其制作成所需要的数据
源码:
github
模型
相关参数可在Config.py文件里设置
class PoetryModel(nn.Module):def __init__(self, vocab_size, embedding_dim, hidden_dim):super(PoetryModel, self).__init__()self.hidden_dim = hidden_dimself.embedding = nn.Embedding(vocab_size, embedding_dim) # 词向量层self.num_layers = Config['num_layers']self.lstm = nn.LSTM(embedding_dim, self.hidden_dim, num_layers=self.num_layers)self.linear = nn.Linear(self.hidden_dim, vocab_size)def forward(self, x, hidden=None):sequence_length, batch_size = x.size()if hidden is None:h_0 = x.data.new(self.num_layers, batch_size, self.hidden_dim).fill_(0).float()c_0 = x.data.new(self.num_layers, batch_size, self.hidden_dim).fill_(0).float()else:h_0, c_0 = hidden# embeds shape (sequence_length, batch_size, embedding_dim )embeds = self.embedding(x)# output shape (sequence_length, batch_size, hidden_dim*(2 if bidirectional else 1) )output, hidden = self.lstm(embeds, (h_0, c_0))# output shape (sequence_length*batch, vocab_size)output = self.linear(output.view(sequence_length*batch_size, -1))return output, hidden
效果
续写诗词
以床前明月光
开头(config.py文件中设置了生成诗词的最大长度)
床前明月光,悬宫三月时。
持刀直射楚,为璧黄金葳。
双双坠解腰,百尺千朵垂。
自君不及之,轩与兔与丝。
且有一杯情,使我长思期。
世情尚多歎,旧态难再持。
何况杏园树,君是今日池。
素宴众人见,春风生绿池。
物物不自辨,羞与醉中移。
复此花中月,尔我自相依。
不如花落屋,歎去蝶萦枝。
写藏头诗
我有一弦歌,自顾有馀滓。
爱君一曲诗,价以随人杰。
学非不博物,莫系好风调。
习之白雪来,系书换人卧。
文件说明
文件目录
文件 | 作用 |
---|---|
config.py | 各项配置 |
data.py | 生成合适的训练的数据 |
model.py | 主要使用的模型 |
generate.py | 生成诗句 |
main.py | 训练模型 |
test.py | 测试/使用模型生成诗句 |
langconv.py zn_wiki.py | 繁简体转换 |
app.py | flask 入口 |
参考
- https://github.com/justdark/pytorch-poetry-gen
- https://github.com/braveryCHR/LSTM_poem
- https://github.com/skydark/nstools/tree/master/zhtools 繁简体转换
pytorch_LSTM_写诗相关推荐
- 清华团队让 AI 写诗“更上一层楼”,诗歌图灵测试迷惑近半数玩家
作者 | 黄珊 来源 | 数据实战派 比特币 外挖无穷洞,机神犹未休. 卡中窥币影,池里验沙流. 屡载吸金主,孤深渍盗求. 方知区块链,本是古来游. 这首诗歌来自一支清华团队开发的古诗 AI.它的创作 ...
- TinyMind邀你写诗!100小时GPU,等你来领取!
在所有喜怒哀乐都能用"卧槽"两字表达的今天,唐诗宋词就像一股清泉,细细品味,甘甜自知.那些悲伤离别,经历过才懂得"一任阶前点滴到天明",家国天下,壮志难酬,最终 ...
- 深度丨AI挑战人类情感!机器人写诗出书背后透露了什么?
继在围棋人机大战中,顶级人类选手完败给人工智能后,人工智能机器人就不断刷爆人们的眼球.地震中机器人6秒写新闻稿.医院里"人工智能"医生0.05秒诊断一起病例.工程现场机器人给排水管 ...
- Pytorch+LSTM+AI自动写诗实战
文章目录 1.数据集和任务定义 2.读取数据集 3.数据预处理 4.数据制作 5.定义网络结构: 6.测试网络 7.可视化 8.总结 1.数据集和任务定义 本次采用的是唐诗数据集,一共有接近60000 ...
- 重构代码(应如写诗)
背景 最近公司做了个项目,深深体会到架构设计以及代码优化有多么的重要. 回头看自己的代码都觉得特别混乱,有时候还要看很久才能看懂,可扩展性特别差,完全是为了完成需求而编码的.说得形象一点就像修水管,最 ...
- PaperWeekly 第二十三期 --- 机器写诗
引言 什么是艺术? 机器的作品能否叫艺术? 机器能否取代艺术家? 这些问题,相信不同的人,会有不同的答案.很多人认为机器生成的作品只是简单的模仿人类,没有创造性可言,但是人类艺术家,不也是从模仿和学习 ...
- 为你写诗:3 步搭建 Serverless AI 应用
作者 | 杜万(倚贤) 阿里巴巴技术专家 本文整理自 1 月 2 日社群分享,每月 2 场高质量分享,点击加入社群. 关注"阿里巴巴云原生"公众号,回复关键词 0102 即可下载本 ...
- 急速搭建 Serverless AI 应用:为你写诗
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): [函数计算](https://statistics.functioncompute.com/?titl ...
- “天猫精灵”如何为你写诗?人机共创的秘密在这儿
阿里妹导读:在AlphaGo人机大战之后,AI在模仿学习人的能力上得到了关注.同时,一种焦虑也在人们心中蔓延,我们的工作何时会被AI替代? 阿里巴巴人工智能实验室用好玩的"天猫精灵写诗&qu ...
最新文章
- 从头开始学习vue-router
- 如何利用Delphi释放所占的内存
- Apache web服务
- Apache Cassandra和Java入门(第二部分)
- 透明大页相关内核参数_透明大内存页Hugepage支持
- linux shell 变量命令,shell - 如何在Bash中将变量设置为命令的输出?
- java项目打成war包,使用ide打包部署在tomcat中
- stata抓取html,Stata 网页表格爬取示例
- ogg格式文件怎么转mp3格式
- java邮箱exchange_Exchange服务器之java mail 使用:exchange邮箱
- 百度网盘linux版本怎么安装
- 东方财富:公司总经理陶涛辞任 其实将担任总经理职务
- Dubbo 第一章:详情版
- 给kvm虚机开放对外访问的端口
- Transformer15
- 并行计算范式-SIMD vs SIMT vs SMT: What’s the Difference Between Parallel Processing Models?
- [Ajax]异步的 JavaScript 和 XML:Ajax入门教程(整理)
- 如何写出高效的代码?(持续更新)
- 如何使用 apt-get、apt-cache、apt-file 命令管理包
- 拨开云雾学习之计算机漫游