
ニューラルネットワークはさまざまなことを実行できます。 彼らは私たちの声を理解し、画像を認識し、音声を翻訳することができますが、他に何を描くことができるか知っていますか? 上の画像は、ニューラル描画から生成された結果の一部を示しています。
今日は、これがどのように行われるかを紹介します。 まず、Ubuntuの更新されたコピーがあることを確認してください(04/14は私が使用したものです)。 ハードドライブとRAMに少なくとも6 GB以上の空き領域をいくつか確保する必要があります(アクセス許可を増やすにはRAMを増やします)。 Ubuntuを仮想マシンとして実行するには、VagrantとVirtualBoxを使用できます。
gitがインストールされていることを確認してください。 gitをダウンロードしてインストールするには、ターミナルを開いて実行するだけです:
$ sudo apt-get install git
ステップ1:torch7をインストールする
Torchは、機械学習アルゴリズムを幅広くサポートする科学計算フレームワークです。 TorchはTorch7のメインパッケージであり、多次元テンソルのデータ構造とそれらの数学演算を定義します。 さらに、ファイルへのアクセス、任意のタイプのオブジェクトのシリアル化、およびその他の便利なユーティリティのための多くのユーティリティを提供します。
ターミナルでこれらのコマンドを実行します(コマンドにはsudoを使用する必要がある場合があります)。
$ cd ~/ $ curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash $ git clone https://github.com/torch/distro.git ~/torch --recursive $ cd ~/torch; ./install.sh
次に、環境変数を更新する必要があります:
$ source ~/.bashrc
ステップ2:loadcaffeをインストールする
ターミナルで実行:
$ sudo apt-get install libprotobuf-dev protobuf-compiler $ luarocks install loadcaffe
または問題がある場合は、これを試してください:
$ git clone git@github.com:szagoruyko/loadcaffe.git $ ~/torch/install/bin/luarocks install loadcaffe/loadcaffe-1.0–0.rockspec
ステップ3:ニューラルスタイルをインストールする
これは、Leon A. Gatis、Alexander S. Ecker、Matthias BetgeのArtistic Style Neural Algorithmのトーチ実装です。 この仕様は、畳み込みニューラルネットワークを使用して、1つの画像のコンテンツを別の画像のスタイルと組み合わせるためのアルゴリズムを提供します。
GitHubを使用した最初のニューラルスタイルのクローン:
$ cd ~/ $ git clone https://github.com/jcjohnson/neural-style.git
次に、ニューラルネットワークモデルをダウンロードします。
$ cd neural-style $ sh models/download_models.sh
ステップ4:起動
次に、少なくとも6 GBのRAMがあることを確認します(仮想マシンを使用している場合は、十分なメモリを割り当ててください)。 次に、このコマンドでニューラルスタイルが機能するかどうかを確認します。
$ th neural_style.lua -gpu -1 -print_iter 1
CPUモードでこれを行っていることに注意してください; GPUモードで実行することは、この記事の範囲外です。
ニューラルスタイルの使用方法に関する指示を表示するには、次を実行します。
$ th neural_style.lua ?
次に、テストコマンドを実行して、ニューラルスタイルが機能することを確認します。 最初に、ニューラルネットワークのディレクトリにいることを確認します。上記のすべての手順を実行した場合は、〜/ニューラルネットワークに移動し、次を実行します。
th neural_style.lua -style_image examples/inputs/starry_night.jpg -content_image examples/inputs/golden_gate.jpg -gpu -1 -image_size 256
処理がより速く終了するように、より小さな画像サイズを入力したことに注意してください。 コマンドが完了すると、標準名out.pngの出力ファイルが同じディレクトリに配置されます。
結果

golden_gate.jpg

starry_night.jpg

out.png