App下載

學會Python實現(xiàn)學寫作

猿友 2018-08-06 18:41:31 瀏覽數(shù) (6906)
反饋

本文轉載至知乎ID:Charles(白露未晞)知乎個人專欄

下載W3Cschool手機App,0基礎隨時隨地學編程>>戳此了解

導語

T_T沒有科研夢想的人半夜過來水篇文章~~~

讓Python學會寫寫歌,創(chuàng)創(chuàng)作~~~

純屬娛樂~~~

改編自PyTorch官網(wǎng)的一個教程,不過我用TF寫的,然后生成英文變成了生成中文~~~

Let's Go~~~


相關文件

百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/1VUEFR82CqyDj2w9SS4xnFA

密碼: 3dmx


開發(fā)工具

Python版本:3.6.4

相關模塊:

tensorflow-gpu模塊;

numpy模塊;

以及一些Python自帶的模塊。

其中TensorFlow-GPU版本為:

1.6.0


環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關模塊即可。

原理簡介

關于RNN的介紹,請參考我之前的文章:

Python實現(xiàn)簡單的機器翻譯模型(點擊藍字進入)

這里我們使用Char RNN模型進行訓練。

即Seq2Seq模型中的特殊情況輸入與輸出等長。

也就是類似下圖的樣子(圖源網(wǎng)絡):

具體實現(xiàn)過程詳見相關文件中的源代碼。


使用演示

在cmd窗口運行Char_RNN.py文件并根據(jù)提示輸入相關信息即可。

訓練相關的參數(shù)請在config.py文件中調整:

訓練所用的數(shù)據(jù)路徑以及生成新文本所用的預熱數(shù)據(jù)請在Char_RNN.py文件中調整:

訓練演示視頻:


因為時間太長了,我只錄了訓練的前面一部分。

最終訓練結果如下圖所示:


結果展示

因為時間和資源有限。

這里只展示周杰倫的所有歌詞作為樣本進行訓練之后測試的結果。

當然你完全可以找其他文本作為訓練語料來生成風格各異的“文章”,“歌詞”等等~~~

結果如下:

預熱歌詞為:是曾與你躲過雨的屋檐

好吧我并不知道它在說啥T_T

一個失敗的案例T_T

大概是模型太low了。而且訓練數(shù)據(jù)是我從網(wǎng)上直接下載的,也沒有預處理過T_T。中間竟然突然冒出一個括號我也是頹了T_T


更多

隨便玩玩的T_T~~~

有興趣的同學可以試著換更復雜的模型~~~

然后訓練的語料最好處理一下~~~

好久沒寫TF了,代碼可能寫的有點糟糕T_T

就這樣吧~~~

0 人點贊