GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

tensorflow

magenta – マゼンタ:機械インテリジェンスによる音楽とアートの生成

投稿日:

マゼンタ:機械インテリジェンスによる音楽とアートの生成

Magentaは、アートと音楽を創造する過程で機械学習の役割を探る研究プロジェクトです。 主に、曲、画像、図、その他の素材を作成するための新しい深層学習アルゴリズムと強化学習アルゴリズムを開発することです。 しかし、これはまた、アーティストやミュージシャンがこれらのモデルを使ってプロセスを拡張(置き換えることなく)できるようにする、スマートなツールとインターフェイスを構築するための探求です。 Magentaは、 Google Brainチームの一部の研究者やエンジニアによって開始されましたが、他の多くの人がこのプロジェクトに大きく貢献しました。 私たちはTensorFlowを使い、このGitHubでオープンソースのモデルとツールをリリースします。 Magentaについてもっと知りたい場合は、 ブログで技術的な詳細を投稿してください。 ディスカッショングループに参加することもできます。

入門

インストール

Python Pip

Magentaはピペットパッケージ使用して簡単に設置できます。 Anacondaをインストールすることをお勧めしますが、標準のPython環境でも動作します。 Python 2(> = 2.7)とPython 3(> = 3.5)の両方をサポートしています。 これらの手順では、Anacondaを使用していると仮定します。

GPUサポートを有効にする場合は、以下のGPUインストール手順に従ってください。

自動インストール

Mac OS XまたはUbuntuを使用している場合は、自動インストールスクリプトを試すことができます。 ターミナルに次のコマンドを貼り付けてください。

curl https://raw.githubusercontent.com/tensorflow/magenta/master/magenta/tools/magenta-install.sh > /tmp/magenta-install.sh
bash /tmp/magenta-install.sh

スクリプトが完了したら、新しい端末ウィンドウを開き、環境変数の変更が有効になるようにします。

Magentaライブラリは、PythonプログラムとJupyterノートブックで使用できるようになり、Magentaスクリプトはあなたのパスにインストールされます!

新しいターミナルウィンドウを開くたびにMagentaを使用するには、 source activate magentaを実行する必要があることに注意してください。

手動インストール

自動スクリプトが何らかの理由で失敗した場合、または手動でインストールする場合は、次の手順を実行します。

最初に、 Python 2.7 Minicondaインストーラをダウンロードしてください(あなたが既にcondをインストールしている場合は、この手順を省略できます)。

次に、JupiterのノートブックサポートでPython 2.7を使用してMagenta conda環境を作成してアクティブ化します。

conda create -n magenta python=2.7 jupyter
source activate magenta

マゼンタピップパッケージをインストールします。

pip install magenta

依存しているrtmidiパッケージをインストールするには、いくつかのサウンドライブラリのヘッダをインストールする必要があるかもしれないことに注意してください。 Linuxでは、このコマンドで必要なパッケージをインストールする必要があります。

sudo apt-get install build-essential libasound2-dev libjack-dev

Magentaライブラリは、PythonプログラムとJupyterノートブックで使用できるようになり、Magentaスクリプトはあなたのパスにインストールされます!

新しいターミナルウィンドウを開くたびにMagentaを使用するには、 source activate magentaを実行する必要があることに注意してください。

GPUのインストール

GPUがインストールされていて、マゼンタで使用したい場合は、 手動インストールの手順に従う必要がありますが、いくつか変更してください。

まず、システムがGPUサポートでテンソルフローを実行するための要件を満たしていることを確認します。

次に、 Manual Installの指示に従いますが、 magenta-gpuパッケージの代わりにmagenta-gpuパッケージをインストールします。

pip install magenta-gpu

2つのパッケージの唯一の違いは、 magenta-gpu tensorflow-gputensorflow代わりにtensorflowです。

マゼンタはあなたのGPUにアクセスできるはずです。

ドッカー

Magentaを試す別の方法は、Dockerコンテナを使用することです。 まず、 Dockerをインストールします。 次に、このコマンドを実行します。

docker run -it -p 6006:6006 -v /tmp/magenta:/magenta-data tensorflow/magenta

これにより、すべてのMagentaコンポーネントがコンパイルされ、インストールされ、実行準備が整ったディレクトリ内のシェルが起動します。 また、ホストマシンのポート6006をコンテナにマップするので、コンテナ内で実行されるTensorBoardサーバーを表示できます。

これはまた、ホストマシン上の/tmp/magentaディレクトリをDockerセッション内の/magenta-dataマップします。 Windowsユーザーは/tmp/magentaC:/magentaなどのパスに変更できます.MacとLinuxのユーザーは~/magentaなどのホームフォルダに関連するパスを使用できます。 警告/magenta-data dataに保存されているデータだけが、Dockerセッション全体で保持されます。

Docker画像には、 /magenta/modelsにいくつかの事前訓練モデルも含まれてい/magenta/models たとえば、 Lookback Melody RNNを使用していくつかのMIDIファイルを生成するには、次のコマンドを実行します。

melody_rnn_generate \
  --config=lookback_rnn \
  --bundle_file=/magenta-models/lookback_rnn.mag \
  --output_dir=/magenta-data/lookback_rnn/generated \
  --num_outputs=10 \
  --num_steps=128 \
  --primer_melody="[60]"

docker runコマンドを実行しているときに--output_dirパスが共有フォルダとしてマップしたパスと一致することを確認します。 この例のコマンドは、上の例のdocker runコマンドの共有フォルダとして/magenta-dataを使用していることを前提としています。

Dockerコンテナの1つの欠点は、ホストから隔離されていることです。 生成されたMIDIファイルを聴きたい場合は、それをホストマシンにコピーする必要があります。 同様に、 MIDI機器インタフェースはホストMIDIポートにアクセスする必要があるため、Dockerコンテナ内では動作しません。 完全な開発環境を使用する必要があります。

インストール後、Magentaの新しいバージョンがリリースされ、Dockerイメージが古くなっていることがあります。 イメージを最新バージョンに更新するには、次のコマンドを実行します。

docker pull tensorflow/magenta

注:Dockerイメージは、 gcr.io/tensorflow/magentaでも入手できます。

マゼンタの使用

さまざまなモデルを訓練し、それらを使って音楽、オーディオ、画像を生成することができます。 modelsディレクトリを調べると、各モデルの説明が表示されます。

まず、 メロディRNNモデルのさまざまな設定の1つを使用して、TensorFlowで独自のメロディを作成します。 メロディを予測するためのリカレントニューラルネットワーク。

MIDIインストゥルメントを演奏する

上のモデルのいずれかを訓練したら、私たちのMIDIインターフェースを使って対話的に演奏することができます。

また、このインターフェース用のUIを提供するデモをいくつか作成し、使いやすくしています(ブラウザベースのAI Jamなど )。

開発環境

マゼンタで開発したい場合は、完全な開発環境をセットアップする必要があります。

インストールには3つのコンポーネントがあります。 パッケージをビルドするにはBazel、モデルを実行するにはTensorFlow、このリポジトリの最新バージョンが必要です。

まず、このリポジトリをクローンします。

git clone https://github.com/tensorflow/magenta.git

次に、 Bazelをインストールします。 我々は最新のバージョン、現在0.4.5が必要です。

必要なPython依存関係をいくつかインストールする必要もあります。 コンダ環境を使用し、pipでインストールすることをお勧めします。

pip install matplotlib scipy bokeh IPython pandas

最後に、 TensorFlowをインストールします コードが現在必要とするTensorFlowのバージョンを確認するには、 setup.pyにリストされている依存関係を確認してください。

また、環境でサポートされているPythonバージョン(Python 2の場合は2.7以上、Python 3の場合は3.5以上)を使用していることを確認してください。

それが./magenta 、ディレクトリを./magentaまたはあなたのクローンパスに変更してください:

cd ./magenta

そして次のコマンドでテストを実行します:

bazel test //magenta/...

ソースからpipパッケージをビルドしてインストールするには、 pipビルドの指示に従います。 また、 ビルドスクリプトを使用することもできます

Bazelでコマンドをビルドして実行する場合は、ビルドステップが生成するパッケージを実行する必要があります。 これを行うには2つの方法があります。 最初のオプションは、ビルドコマンドの出力を見て、生成されたファイルへのパスを見つけることです。 たとえば、melody_rnn_generateスクリプトを作成する場合は、次のようにします。

$ bazel build //magenta/models/melody_rnn:melody_rnn_generate
INFO: Found 1 target...
Target //magenta/models/melody_rnn:melody_rnn_generate up-to-date:
  bazel-bin/magenta/models/melody_rnn/melody_rnn_generate

$ bazel-bin/magenta/models/melody_rnn/melody_rnn_generate --config=...

もう1つのオプションは、上の2つのステップを組み合わせたbazel runコマンドを使用することです。 bazel runを使用する場合は、 bazel run引数とコマンドの引数を区別するために、コマンドラインの引数の前に追加する必要があることに注意してください。

$ bazel run //magenta/models/melody_rnn:melody_rnn_generate -- --config=...







-tensorflow

執筆者: