はじめに
TensorFlow製の音楽生成プロジェクト「Magenta」をいじっています。
参考:サカナクションさんをTensorFlow製アート・音楽生成プロジェクト「Magenta」に学習させてみる。
ただMagentaの学習にはMacだと数時間かかってしまうことがあるため、AWSのGPUインスタンス(g2インスタンス)で動かせないかと思い、やってみました。
手順
下記の記事を参考にさせていただきました。
ありがとうございます。
参考:AWSのGPUインスタンスにTensorFlowとJupyterを入れる
NVIDIA Dockerをインストールするところまではこちらの通りに実行すれば大丈夫かと思います。
環境
AMI:Ubuntu Server 14.04 LTS (HVM), SSD Volume Type
なお、ストレージは8GBのままだと途中で容量オーバーになってしまいました。
私は36GBにして行いました。
NVIDIA Driver のインストール
Driverのバージョンなども変更することなく、そのまま実行。
$ sudo ./NVIDIA-Linux-x86_64-361.42.run
でエラーを吐くことがありましたが、再度
$ sudo update-initramfs -u
$ sudo reboot
を実行することで、問題なく進めました。
(WARNINGはYESを選んでいれば大丈夫だと思います。)
なお、NVIDIA Driverが機能しているかどうかは下記で確認可能です。
ubuntu@ip-xxxxxx:~$ nvidia-smi -q | head
==============NVSMI LOG==============
Timestamp : xxx x xx xx:xx:xx xxxx
Driver Version : 361.42
Attached GPUs : 1
GPU 0000:00:03.0
Product Name : GRID K520
Product Brand : Grid
Dockerのインストール
参考記事の通り進めました。
NVIDIA Dockerをインストール
参考記事の通り進めました。
Magenta用のDockerインスタンスを立てる
MagentaではDockerコンテナを準備してくれています。
下記で起動できます。
$ sudo nvidia-docker run -it -p 6006:6006 -v /tmp/magenta:/magenta-data tensorflow/magenta
Docker内に入ったのち、参考記事を元に設定をし、
# export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
# pushd /usr/lib/x86_64-linux-gnu
# ln -s libcudnn.so.4 libcudnn.so
# popd
動くことが確認できれば大丈夫だと思います。
# lookback_rnn_generate \
> --bundle_file=/magenta-models/lookback_rnn.mag \
> --output_dir=/magenta-data/lookback_rnn/generated \
> --num_outputs=10 \
> --num_steps=128 \
> --primer_melody="[60]"
INFO:tensorflow:Wrote 10 MIDI files to /magenta-data/lookback_rnn/generated
おわりに
ありがとうございました。