Magenta魔改記-0:Magetna初見
前言:
最近在魔改Magenta,所以會涉及到閱讀、修改Magenta的原始碼。但苦於Magenta官方沒有官方的文件,並且程式碼可能寫的有點亂,導致想要從原始碼瞭解Magenta並不容易。不過我個人認為Magenta是一個很好的專案,模型的架構寫的都很好,從主觀上來看(聽),做出的自動作曲模型效果也很優異。Magenta可以為做深度學習自動作曲的研究者提供一個參考,同時我在這裡也希望給有興趣的朋友提供一些經驗。
Magenta魔改記Github: ofollow,noindex">lukewys/Magenta-Modification
Magenta:
Magenta是由google組織的一個專案組,專門進行基於機器學習的人工智慧藝術方面的研究,包括自動作曲、音訊生成、圖畫生成等方面。
主頁:Magenta
Github: tensorflow/magenta
討論組: https:// groups.google.com/a/ten sorflow.org/forum/#!forum/magenta-discuss
相關介紹:用機器學習搞藝術,谷歌 Megenta 專案集錦(附 Github)
專案中包含的模型,在自動作曲方面,有:
Melody_rnn:一個單聲部、單音作曲模型
Polyphony_rnn:二聲部,一個聲部為單音旋律一個聲部為和絃組合的生成模型
以及imporv_rnn、drum_rnn、performance_rnn等模型
還有NSynth(Wavenet),sketch rnn(畫簡筆畫),AIduet(跟彈)等成熟的專案。
執行環境:
Magenta主要基於Tensorflow(Python)編寫,最近的專案有使用Tehsorflowjs。
安裝:
總的來說就是先安裝Tensorflow環境,然後直接pip install magenta/magenta-gpu就妥了。
Note:在早先沒有GPU版本時,我在Tensorflow-gpu下執行也可以跑,應該是magenta-gpu版本新加了cuDNN的支援,把RNN方法都改寫成了cuDNN的。
訓練/生成:
Magenta提供了命令列(Linux\Mac),在windows系統上,也可以使用bazel環境進行命令列操作。我們可以通過命令列來進行訓練、用生成的權重或官方提供的權重進行自動作曲。
命令列操作方式見Github內各個Model的文件,如:
牆內:
用Tensorflow讓神經網路自動創造音樂 - Charlotte77 - 部落格園
Tensorflow讓神經網路自動創造音樂 - CSDN部落格