本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载手机App,0基础随时随地学编程>>戳此了解
T_T没有科研梦想的人半夜过来水篇文章~~~
让Python学会写写歌,创创作~~~
纯属娱乐~~~
改编自PyTorch官网的一个教程,不过我用TF写的,然后生成英文变成了生成中文~~~
Let's Go~~~
百度网盘下载链接: https://pan.baidu.com/s/1VUEFR82CqyDj2w9SS4xnFA
密码: 3dmx
Python版本:3.6.4
相关模块:tensorflow-gpu模块;numpy模块;以及一些Python自带的模块。
其中TensorFlow-GPU版本为:
1.6.0
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理简介
关于RNN的介绍,请参考我之前的文章:
Python实现简单的机器翻译模型(点击蓝字进入)
这里我们使用Char RNN模型进行训练。
即Seq2Seq模型中的特殊情况输入与输出等长。
也就是类似下图的样子(图源网络):
具体实现过程详见相关文件中的源代码。
在cmd窗口运行Char_RNN.py文件并根据提示输入相关信息即可。
训练相关的参数请在config.py文件中调整:
训练所用的数据路径以及生成新文本所用的预热数据请在Char_RNN.py文件中调整:
训练演示视频:
因为时间太长了,我只录了训练的前面一部分。
最终训练结果如下图所示:
因为时间和资源有限。
这里只展示周杰伦的所有歌词作为样本进行训练之后测试的结果。
当然你完全可以找其他文本作为训练语料来生成风格各异的“文章”,“歌词”等等~~~
结果如下:
(预热歌词为:是曾与你躲过雨的屋檐)
好吧我并不知道它在说啥T_T
一个失败的案例T_T
大概是模型太low了。而且训练数据是我从网上直接下载的,也没有预处理过T_T。中间竟然突然冒出一个括号我也是颓了T_T
随便玩玩的T_T~~~
有兴趣的同学可以试着换更复杂的模型~~~
然后训练的语料最好处理一下~~~
好久没写TF了,代码可能写的有点糟糕T_T
就这样吧~~~
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏下载手机App,0基础随时随地学编程戳此了解导语不像考卷,现实生活中,有些...
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏下载手机App,0基础随时随地学编程戳此了解导语偶遇了一篇文章:“Mapping Y...
Python3 sorted() 函数Python3 内置函数描述sorted()函数对所有可迭代的对象进行排序操作。sort 与 sorted 区别:sort 是应用在 ...
Python3 open() 函数Python3 内置函数Python3 open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到...
Python3bytes 函数Python3 内置函数描述Python3 bytes 函数返回一个新的 bytes 对象,该对象是一个 0 = x256 区间内的整数不可变...