W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專欄
下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解
T_T沒有科研夢想的人半夜過來水篇文章~~~
讓Python學(xué)會(huì)寫寫歌,創(chuàng)創(chuàng)作~~~
純屬娛樂~~~
改編自PyTorch官網(wǎng)的一個(gè)教程,不過我用TF寫的,然后生成英文變成了生成中文~~~
Let's Go~~~
百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/1VUEFR82CqyDj2w9SS4xnFA
密碼: 3dmx
Python版本:3.6.4
相關(guān)模塊:tensorflow-gpu模塊;numpy模塊;以及一些Python自帶的模塊。
其中TensorFlow-GPU版本為:
1.6.0
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。
原理簡介
關(guān)于RNN的介紹,請參考我之前的文章:
Python實(shí)現(xiàn)簡單的機(jī)器翻譯模型(點(diǎn)擊藍(lán)字進(jìn)入)
這里我們使用Char RNN模型進(jìn)行訓(xùn)練。
即Seq2Seq模型中的特殊情況輸入與輸出等長。
也就是類似下圖的樣子(圖源網(wǎng)絡(luò)):
具體實(shí)現(xiàn)過程詳見相關(guān)文件中的源代碼。
在cmd窗口運(yùn)行Char_RNN.py文件并根據(jù)提示輸入相關(guān)信息即可。
訓(xùn)練相關(guān)的參數(shù)請?jiān)赾onfig.py文件中調(diào)整:
訓(xùn)練所用的數(shù)據(jù)路徑以及生成新文本所用的預(yù)熱數(shù)據(jù)請?jiān)贑har_RNN.py文件中調(diào)整:
訓(xùn)練演示視頻:
因?yàn)闀r(shí)間太長了,我只錄了訓(xùn)練的前面一部分。
最終訓(xùn)練結(jié)果如下圖所示:
因?yàn)闀r(shí)間和資源有限。
這里只展示周杰倫的所有歌詞作為樣本進(jìn)行訓(xùn)練之后測試的結(jié)果。
當(dāng)然你完全可以找其他文本作為訓(xùn)練語料來生成風(fēng)格各異的“文章”,“歌詞”等等~~~
結(jié)果如下:
(預(yù)熱歌詞為:是曾與你躲過雨的屋檐)
好吧我并不知道它在說啥T_T
一個(gè)失敗的案例T_T
大概是模型太low了。而且訓(xùn)練數(shù)據(jù)是我從網(wǎng)上直接下載的,也沒有預(yù)處理過T_T。中間竟然突然冒出一個(gè)括號(hào)我也是頹了T_T
隨便玩玩的T_T~~~
有興趣的同學(xué)可以試著換更復(fù)雜的模型~~~
然后訓(xùn)練的語料最好處理一下~~~
好久沒寫TF了,代碼可能寫的有點(diǎn)糟糕T_T
就這樣吧~~~
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: