MXNet-Gluon-Style-Transferを使う

2020年12月22日記事を更新しました

このようなスタイル変換を行います。

f:id:touch-sp:20201222212818j:plain
元画像
f:id:touch-sp:20201222213016j:plain:w240
スタイル画

f:id:touch-sp:20201222212916j:plain
変換後画像

環境

GPUあり/なしの二つの環境で動作確認しました。
実際にインストールしたのは「mxnet」と「Pillow」のみです。

Windows 10
GTX 1080
CUDA Toolkit 10.1
Python 3.7.9

pip install mxnet-cu101==1.7.0 -f https://dist.mxnet.io/python/cu101
pip install pillow

certifi==2020.12.5
chardet==3.0.4
graphviz==0.8.4
idna==2.6
mxnet-cu101==1.7.0
numpy==1.16.6
Pillow==8.0.1
requests==2.18.4
urllib3==1.22

Windows10
GPUなし
Python 3.8.6

pip install mxnet
pip install pillow

certifi==2020.12.5
chardet==3.0.4
graphviz==0.8.4
idna==2.6
mxnet==1.7.0.post1
numpy==1.16.6
Pillow==8.0.1
requests==2.18.4
urllib3==1.22

Style-Transferのソースをダウンロード

github.com
こちらからZIPファイルをダウンロードして解凍

学習済みモデルのダウンロード

python models/download_model.py

実行

python main.py eval --content-image images/content/venice-boat.jpg --style-image images/styles/wave.jpg --model models/21styles.params --content-size 1024 --cuda 1

python main.py eval --content-image images/content/venice-boat.jpg --style-image images/styles/wave.jpg --model models/21styles.params --content-size 1024 --cuda 0

これだけで冒頭で示した通りの結果が得られました。

補足

こちらにスタイル画像を一括で適用する方法を書いていますので良かったら読んでみて下さい。
touch-sp.hatenablog.com