RNN实践之唐诗创作
这次,尝试先用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实践之唐诗创作相关推荐
- 使用GRU单元的RNN模型生成唐诗
文章目录 1. 读取数据 2. 字符索引 3. 创建文本序列 4. 创建文本编码序列 5. 使用GRU单元建立RNN模型 6. 文本生成 参考 基于深度学习的自然语言处理 本文使用 GRU 单元建立 ...
- 文本分类Keras RNN实践——应用腾讯和百度中文词向量
中文词向量 深度学习在NLP领域大展身手,而深度学习处理文本,离不开文本的向量化. 英语独特的语法规则,使得单用空格就能将句子中的单词分割开来,从而取得词向量,这极大简化了英语的NLP预处理过程,工业 ...
- 唐诗分析 今析古言项目测试 -2
一.了解项目需求 1.项目背景:唐朝是我国诗歌文化的创作鼎盛时期,为了分析唐代大佬的唐诗创作数量以及常用的诗词,唐诗你的生活. 2.项目开发:Yimm 3.项目测试:Yimm 本项目用爬取了古诗文网的 ...
- 深度学习实战:tensorflow训练循环神经网络让AI创作出模仿莎士比亚风格的作品
AI创作莎士比亚风格的作品 训练一个循环神经网络模仿莎士比亚 FLORIZEL: Should she kneel be? In shall not weep received; unleased m ...
- 不忘初心,坚持创作和分享,做自己喜欢的事 - 2022 年回顾
我叫刘晓国,Elastic 中国社区的首席布道师.不知不觉,来到 Elastic 已经三年多了.在 Elastic 的三年,是疫情发生的三年.对很多人来说,疫情对我们的工作和学习都有很大的变化.好在我 ...
- 学习规划|机器学习和NLP入门规划
欢迎直接到我的博客查看最近文章:www.pkudodo.com.更新会比较快,评论回复我也能比较快看见,排版也会更好一点. 原始blog链接: http://www.pkudodo.com/2019 ...
- 学计算机的快毕业要学论文吗,学计算机的好写毕业论文吗?
2008-07-02 回答 好了信息技术课程教学所需的软.硬件环境系统:领导与学生的观念更新了(领导重视了,学生肯学了):具有了一组高素质的信息技术课任教师了.三个为提高信息技术教学质量的条件都具备了 ...
- js 查错_7年前端开发经验的我,写了本Vue.js实战开发,开源高清PDF下载
Vue作为目前发展最迅速的前端框架越来越多的受到前端T程师青睐,Vue社区也是Web前端最活跃的社区之一. 更多的公司在转为Vue框架,但针对Vue优秀权威.实战的图书相对欠缺,梁灏著<Vue. ...
- 文本分类(TFIDF/朴素贝叶斯分类器/TextRNN/TextCNN/TextRCNN/FastText/HAN)
目录 简介 TFIDF 朴素贝叶斯分类器 贝叶斯公式 贝叶斯决策论的理解 极大似然估计 朴素贝叶斯分类器 TextRNN TextCNN TextRCNN FastText HAN Highway N ...
最新文章
- C++ queue 详细介绍
- [笔记].如何使用Nios II的中断:PIO中断与定时器中断
- java语言与www技术形成性考核册_电大Java语言与WWW技术形成性考核程序题
- 06_1.Pytorch中如何表示字符串、word embedding、One - hot、Embedding(Word2vec、BERT、Glove)【学习总结】
- 如何在 .NET 程序万种死法中有效的生成 Dump (上)
- 【数据结构与算法】AVL树的Java实现
- android https详解,如何使用HTTPS和HTTP来解析Android中的JSON数据?
- ICLR'22 | 基于可微分提示的语言模型少样本微调方法
- Matlab2018a安装教程
- Veritas Backup Exec 21还原备份
- java输入数字金额输出汉字大写,java实现数字金额转换成汉字大写金额
- 阿里P9技术:我来聊聊百万年薪
- ps剪贴蒙版教程(ps创建剪贴蒙版步骤)
- 英语 名词复数的变化及其发音
- YALMIP建模+CPLEX求解,让优化问题更简单
- 移动硬盘使用什么文件系统格式
- 大卫 异星觉醒 机器人_《异星觉醒》披着科幻外衣的老套惊悚片
- damon ps2 android,DamonPS2模拟器
- 在计算机网络中服务器必不可少,2020年全国计算机一级Ms Office试题(总)
- MFC+opencv实现摄像头的打开与关闭
热门文章
- Execution failed for task ‘:app:javaPreCompileDebug‘.
- MiniGUI和其他嵌入式Linux 上的图形及图形用户界面系统
- k8s的service和endpoint
- 人才外包公司中一个外包人员的成本分析
- 【活动】Bambook程序达人赛——Javaeye绿色通道最新通知
- R730调整风扇转速
- ArcGIS MPK的两种打包方式_陈焜浩Arain_新浪博客
- 记2017年百度之星决赛
- Android笔记之ImageView设置图片以灰色显示
- 实现对rtp H264码流的组帧