【機器學習PAI實踐十一】機器學習PAI為你自動寫歌詞,媽媽再也不用擔心我的freestyle了(提供資料、程式碼
背景
最近網際網路上出現一個熱詞就是“freestyle”,源於一個比拼rap的綜藝節目。在節目中需要大量考驗選手的freestyle能力,freestyle指的是rapper即興的根據一段主題講一串rap。freestyle除了考驗一個人rap的技巧,其實我覺得最難的是如何在短時間內在腦海中浮現出有韻律的歌詞。
PAI平臺是阿里雲人工智慧平臺,在上面可以通過最簡單的拖拉拽的方式,完成對各種結構化以及非結構化資料的處理。因為有了PAI,這種自動生成歌詞的事情都不再成為難題。我現在不光可以瞬間生成萬首歌詞,我還可以同時融合周杰倫、王力巨集、林俊杰、汪峰的歌詞風格在裡面,因為PAI利用深度學習能力可以快速的學習這些歌手的所有歌曲並且實現自己創作歌詞。不信?下面我就來show一下PAI的威力。
執行過程
-
1.首先進入PAI:https://data.aliyun.com/product/learn
開通機器學習以及機器學習內的GPU服務。 -
2.訓練資料說明
這裡我們的資料是一份txt檔案,檔案中包含了周杰倫、王力巨集、林俊杰、汪峰的歌詞,一共有接近300首歌,歌詞都是去掉標題等干擾因素的(花了好幾個小時整理)。資料截圖: -
3.實驗程式碼說明
本實驗使用的是PAI內建的深度學習框架Tensorflow,使用的了seq2seq以及RNN網路進行歌詞語義的學習以及建模。使用train.py檔案生成模型,使用predict.py檔案進行預測。以下是部分網路結構搭建的截圖,大家可以在下方找到原始碼下載地址進行使用。(PS:例項程式碼雖然可以執行,但是資料IO採用的是低效方式,高效方式可以參考此文http://blog.csdn.net/buptgshengod/article/details/75218978)
with tf.name_scope(`model`):
self.cell = rnn_cell.BasicLSTMCell(args.state_size)
self.cell = rnn_cell.MultiRNNCell([self.cell] * args.num_layers)
self.initial_state = self.cell.zero_state(
args.batch_size, tf.float32)
with tf.variable_scope(`rnnlm`):
w = tf.get_variable(
`softmax_w`, [args.state_size, data.vocab_size])
b = tf.get_variable(`softmax_b`, [data.vocab_size])
with tf.device("/gpu:0"):
embedding = tf.get_variable(
`embedding`, [data.vocab_size, args.state_size])
inputs = tf.nn.embedding_lookup(embedding, self.input_data)
outputs, last_state = tf.nn.dynamic_rnn(
self.cell, inputs, initial_state=self.initial_state)
-
4.資料上傳
將實驗資料和程式碼檔案打包上傳到OSS(之所以打包是本文案例使用的是原生PYTHON的資料IO方式,需要程式碼和訓練資料組成同一個tar.gz檔案)。OSS是PAI可讀的物件儲存工具,具體方式可以參考此視訊連線https://help.aliyun.com/video_detail/54945.html -
5.搭建實驗
在PAI的畫布拖動OSS以及Tensorflow元件搭建如下實驗,兩個Tensorflow節點分別對應著訓練和預測節點,先訓練生成寫歌模型,然後預測節點獲取模型自動生成歌詞。
配置對應的執行程式碼路徑和輸出路徑,跟上面的OSS路徑對應。下圖是負責預測的Tensorflow節點配置。
點選執行,PAI就開始學習歌詞並且嘗試自己寫作啦。
寫歌結果
經過差不多20分鐘的學習,PAI已經掌握了幾位歌壇大神的歌詞技巧,下面就看看PAI寫出來的歌詞是怎樣的。(歌詞需要在log中檢視,可以參考https://yq.aliyun.com/articles/72841
歌詞來了,
看上去寫的歌還算通暢,沒有出現特別多語病。當然,想寫出更好的詞,需要對訓練模型的迭代次數、詞長等引數進行不斷除錯,也可以多為PAI輸送更多的歌詞供訓練,因為300多的樣本還是略顯單薄。
下載地址
1.資料以及程式碼已經打包,直接上傳PAI配置路徑即可使用:下載地址
2.跟作者討論,可以訪問我的微信公眾號(PAI使用問題請在釘釘群裡問):
凡人機器學習
相關文章
- 媽媽再也不用擔心我不會webpack了Web
- 媽媽再也不用擔心我不會webpack了2Web
- 👅媽媽在也不用擔心我不會寫介面了
- JS維護nginx反向代理,媽媽再也不用擔心我跨域了!JSNginx跨域
- 一文讀懂 flex, 媽媽再也不用擔心我的佈局了Flex
- 快速定位無用路由 媽媽再也不用擔心人工排雷了路由
- React效能分析利器來了,媽媽再也不用擔心我的React應用慢了React
- 媽媽再也不用擔心你不會使用執行緒池了(ThreadUtils)執行緒thread
- Jonas智慧雨傘:媽媽再也不用擔心我會變落湯雞了
- 安裝一條龍,媽媽再也不用擔心我不會安裝啦
- 用Python爬取線上教程轉成PDF,媽媽再也不用擔心我的學習了!Python
- 媽媽再也不用擔心爬蟲被封號了!手把手教你搭建Cookies池爬蟲Cookie
- 內網穿透---IPv6點對點【媽媽再也不用擔心網速了】內網穿透
- 【機器學習PAI實踐十二】機器學習實現雙十一購物清單的自動商品標籤歸類機器學習AI
- 能關掉經痛的Livia智慧穿戴 媽媽再也不擔心了
- Python 線上免費批量美顏,媽媽再也不用擔心我 P 圖兩小時啦Python
- 【機器學習PAI實踐一】搭建心臟病預測案例機器學習AI
- Python爬取雙色球,媽媽再也不會擔心我不會中獎了Python
- Python網路解析庫Xpath,媽媽再也不會擔心我不會解析了Python
- 【機器學習PAI實踐五】機器學習眼中的《人民的名義》機器學習AI
- Python課堂點名器,媽媽再也不會擔心我被老師點名了Python
- Python爬取鬥圖啦,媽媽再也不會擔心我無圖可刷了Python
- 一文吃透redis持久化,媽媽再也不擔心我面試過不了!Redis持久化面試
- multipages-generator今日釋出?!媽媽再也不用擔心移動端h5網站搭建了!H5網站
- 看了這些,媽媽再也不擔心我PHP面試被陣列問得臉都綠了PHP面試陣列
- 【機器學習PAI實踐三】霧霾成因分析機器學習AI
- Python網路請求庫Requests,媽媽再也不會擔心我的網路請求了(一)Python
- 【機器學習PAI實踐九】如何通過機器學習實現雲端實時心臟狀況監測機器學習AI
- 【機器學習PAI實踐二】人口普查統計機器學習AI
- 再也不用擔心蘋果資料誤刪了蘋果
- 【機器學習PAI實踐四】如何實現金融風控機器學習AI
- 機器學習PAI快速入門機器學習AI
- 【機器學習PAI實踐十二】機器學習實現男女聲音識別分類(含語音特徵提取資料和程式碼)機器學習AI特徵
- 【機器學習PAI實踐六】金融貸款發放預測機器學習AI
- 【機器學習PAI實踐七】文字分析演算法實現新聞自動分類機器學習AI演算法
- 再也不用擔心網頁編碼的坑了!網頁
- 智慧打底褲:再也不用擔心尺碼了
- 機器學習PAI快速入門與業務實戰機器學習AI