这次,尝试先用RNN玩一下唐诗创作。

//update 201602100001
本来是唐诗的,结果唐诗里面太多生僻字
所以我刚刚从网上下载了一些歌词,想仿照参考资料【4】创作一首歌。
不过,只有111KB,不知道训练模型够不够。
同时,我傍晚训练唐诗时,因为买的服务器是1G1核的,根本难以训练,所以换了个4G的服务器。
//当然,同样是只有CPU

安装Torch

买了台最便宜的云服务器,Ubuntu. 
将torch装在/home/tom/torch/下;安装过程可以查看官方文档。

//新建用户tom
useradd tom -m -s /bin/bash
//添加用户到sudo组sudo usermod -a -G sudo tom

由于我是刚买的服务器,可能在安装torch之前需要先执行以下命令

apt-get update
apt-get install curl
apt-get install git
apt-get install cmake

安装过程中,出现了如下错误:

【错误1】

remote: Compressing objects: 100% (4/4), done.
error: RPC failed; result=56, HTTP code = 200 | 924.00 KiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
Clone of 'https://github.com/torch/cutorch.git' into submodule path 'extra/cutorch' failed

解决方案为这个链接:

git clone https://github.com/torch/distro.git ~/torch --recursive --depth 1

【错误2】

Error: Build error: Failed compiling object readline.o

解决方案为:

sudo apt-get install libreadline-dev

安装成功后输入th得到下图:

Char-rnn

Char-rnn是一个基于RNN的字符级的语句生成工具。

这里的安装过程完全参照这个链接;作者是Andrej Karpathy,该作者同时写了一个介绍RNN的博客,可以访问这里查看。

按照上面安装了torch之后,就需要安装以下三个包。

$ luarocks install nngraph
$ luarocks install optim
$ luarocks install nn

训练过程中

creating vocabulary mapping...
putting data into tensor...
saving data/chinesepoetry/vocab.t7
/home/tom/torch/install/bin/luajit: cannot open <data/chinesepoetry/vocab.t7> in mode  w at /home/tom/torch/pkg/torch/lib/TH/THDiskFile.c:640
stack traceback:

这是权限错误。

//终于可以训练了
th train.lua -data_dir data/tinyshakespeare -rnn_size 112 -num_layers 2 -dropout 0.5

结果

//201602091728
现在让它去训练吧,结果再说。
//201602100011
因为1唐诗中大量生僻字使得文本过于复杂;2之前那个云服务器只有1G内存。故重新训练。

训练了好几次,结果都是中文乱码,,,这个有点烦。 
 
简单来说,解决方案为,将input.txt的编码格式设置为下图(Notepad++) 
UNIX UTF-8 


现在,终于成功了。 
然而,惨不忍睹。


参考资料

【1】torch 
http://torch.ch/docs/getting-started.html 
【2】char-rnn 
https://github.com/karpathy/char-rnn 
【3】让神经网络做唐诗 
http://zhengwy.com/neural-network-for-tangshi/ 
【4】汪峰老师作词机 
https://github.com/phunterlau/wangfeng-rnn

RNN实践之唐诗创作相关推荐

  1. 使用GRU单元的RNN模型生成唐诗

    文章目录 1. 读取数据 2. 字符索引 3. 创建文本序列 4. 创建文本编码序列 5. 使用GRU单元建立RNN模型 6. 文本生成 参考 基于深度学习的自然语言处理 本文使用 GRU 单元建立 ...

  2. 文本分类Keras RNN实践——应用腾讯和百度中文词向量

    中文词向量 深度学习在NLP领域大展身手,而深度学习处理文本,离不开文本的向量化. 英语独特的语法规则,使得单用空格就能将句子中的单词分割开来,从而取得词向量,这极大简化了英语的NLP预处理过程,工业 ...

  3. 唐诗分析 今析古言项目测试 -2

    一.了解项目需求 1.项目背景:唐朝是我国诗歌文化的创作鼎盛时期,为了分析唐代大佬的唐诗创作数量以及常用的诗词,唐诗你的生活. 2.项目开发:Yimm 3.项目测试:Yimm 本项目用爬取了古诗文网的 ...

  4. 深度学习实战:tensorflow训练循环神经网络让AI创作出模仿莎士比亚风格的作品

    AI创作莎士比亚风格的作品 训练一个循环神经网络模仿莎士比亚 FLORIZEL: Should she kneel be? In shall not weep received; unleased m ...

  5. 不忘初心,坚持创作和分享,做自己喜欢的事 - 2022 年回顾

    我叫刘晓国,Elastic 中国社区的首席布道师.不知不觉,来到 Elastic 已经三年多了.在 Elastic 的三年,是疫情发生的三年.对很多人来说,疫情对我们的工作和学习都有很大的变化.好在我 ...

  6. 学习规划|机器学习和NLP入门规划

    欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接:  http://www.pkudodo.com/2019 ...

  7. 学计算机的快毕业要学论文吗,学计算机的好写毕业论文吗?

    2008-07-02 回答 好了信息技术课程教学所需的软.硬件环境系统:领导与学生的观念更新了(领导重视了,学生肯学了):具有了一组高素质的信息技术课任教师了.三个为提高信息技术教学质量的条件都具备了 ...

  8. js 查错_7年前端开发经验的我,写了本Vue.js实战开发,开源高清PDF下载

    Vue作为目前发展最迅速的前端框架越来越多的受到前端T程师青睐,Vue社区也是Web前端最活跃的社区之一. 更多的公司在转为Vue框架,但针对Vue优秀权威.实战的图书相对欠缺,梁灏著<Vue. ...

  9. 文本分类(TFIDF/朴素贝叶斯分类器/TextRNN/TextCNN/TextRCNN/FastText/HAN)

    目录 简介 TFIDF 朴素贝叶斯分类器 贝叶斯公式 贝叶斯决策论的理解 极大似然估计 朴素贝叶斯分类器 TextRNN TextCNN TextRCNN FastText HAN Highway N ...

最新文章

  1. C++ queue 详细介绍
  2. [笔记].如何使用Nios II的中断:PIO中断与定时器中断
  3. java语言与www技术形成性考核册_电大Java语言与WWW技术形成性考核程序题
  4. 06_1.Pytorch中如何表示字符串、word embedding、One - hot、Embedding(Word2vec、BERT、Glove)【学习总结】
  5. 如何在 .NET 程序万种死法中有效的生成 Dump (上)
  6. 【数据结构与算法】AVL树的Java实现
  7. android https详解,如何使用HTTPS和HTTP来解析Android中的JSON数据?
  8. ICLR'22 | 基于可微分提示的语言模型少样本微调方法
  9. Matlab2018a安装教程
  10. Veritas Backup Exec 21还原备份
  11. java输入数字金额输出汉字大写,java实现数字金额转换成汉字大写金额
  12. 阿里P9技术:我来聊聊百万年薪
  13. ps剪贴蒙版教程(ps创建剪贴蒙版步骤)
  14. 英语 名词复数的变化及其发音
  15. YALMIP建模+CPLEX求解,让优化问题更简单
  16. 移动硬盘使用什么文件系统格式
  17. 大卫 异星觉醒 机器人_《异星觉醒》披着科幻外衣的老套惊悚片
  18. damon ps2 android,DamonPS2模拟器
  19. 在计算机网络中服务器必不可少,2020年全国计算机一级Ms Office试题(总)
  20. MFC+opencv实现摄像头的打开与关闭

热门文章

  1. Execution failed for task ‘:app:javaPreCompileDebug‘.
  2. MiniGUI和其他嵌入式Linux 上的图形及图形用户界面系统
  3. k8s的service和endpoint
  4. 人才外包公司中一个外包人员的成本分析
  5. 【活动】Bambook程序达人赛——Javaeye绿色通道最新通知
  6. R730调整风扇转速
  7. ArcGIS MPK的两种打包方式_陈焜浩Arain_新浪博客
  8. 记2017年百度之星决赛
  9. Android笔记之ImageView设置图片以灰色显示
  10. 实现对rtp H264码流的组帧