2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Magenta(Googleの音楽機械学習ライブラリ)のRNNセルはどこにあるのか?

Last updated at Posted at 2021-02-01

Magenta(Googleの音楽機械学習ライブラリ)のRNNセルはどこにあるのか?
またどの様に書き換えや開発を行うのか?

基本的にMagentaのRNNセルはevents_rnn_graph.pyという共有ファイルの中に記述されています。

GitHubのレポジトリでいうと

の28〜32行目のmake_rnn_cell関数のところです。

events_rnn_graph.py

def make_rnn_cell(rnn_layer_sizes,
                  dropout_keep_prob=1.0,
                  attn_length=0,
                  base_cell=rnn.BasicLSTMCell,
                  residual_connections=False):

base_cell=rnn.BasicLSTMCell
のBasicLSTMCellが選択されているRNNセルです。

このRNNセルはTensorFlowのRNNセルクラスですのでTensorFlowのサイトからセルの中身がどんな処理を行うプログラムなのか?確認する事ができます。

tf.compat.v1.nn.rnn_cell.BasicLSTMCellのページはこちら
https://www.tensorflow.org/api_docs/python/tf/compat/v1/nn/rnn_cell/BasicLSTMCell

おそらくLSTMが、音楽生成にはもっとも適していそうなので(当然Magentaの開発者の方々が1番検証されたでしょう)他のセルを試す必要はない様に思えます。
がもし、他のセルを使用したい場合はBasicLSTMCellを他のセルに変えれば良いわけです。

TensorFlowのRNNセルのページはこちらです。
どんなセルがあるか確認できます。

各セルの解説は今回はしません。
また全ての書き換えを実践・検証したわけではないのできるものできないものがあるかもしれませんが、可能なセルについては簡単に書き換えが可能でした。

音楽生成もそれぞれ違いを検証しましたが、すぐにわかる明らかな違いはありませんでした。
しかし、詳細に実践していけば当然違いはあると思います。
また何か発見したら報告したいと思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?