Python3实现写作
创始人
2024-06-01 12:41:54

导语

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

相关内容

热门资讯

汇添富中证1000ETF净值下... 汇添富中证1000交易型开放式指数证券投资基金(简称:汇添富中证1000ETF,代码560110)公...
新华中证云计算50ETF净值下... 新华中证云计算50交易型开放式指数证券投资基金(简称:新华中证云计算50ETF,代码560660)公...
人形机器人产业加速发展 国产供...   本报记者 吴奕萱  见习记者 钟雨润  伴随A股“人形机器人第一股”宇树科技登陆科创板,宇树科技...
理性看待“打新策略”理财产品   ■ 熊 悦  近期,多家明星科技公司陆续登陆A股市场,开盘首日即取得亮眼的股价表现,市场打新赚钱...
国泰中证消费电子主题ETF净值... 国泰中证消费电子主题交易型开放式指数证券投资基金(简称:国泰中证消费电子主题ETF,代码561310...