Ubuntu 20.04 + StyleGAN2 でアニメキャラを生成してみた
Ubuntu 20.04 上で StyleGAN2 を動かし、アニメキャラの顔を生成してみました。
なお、学習データの収集やモデルのトレーニングには非常にコストがかかるため、今回は有志による学習済みモデルを使用させていただきました。
StyleGAN2 の公式の GitHub リポジトリは以下
https://github.com/NVlabs/stylegan2
参考
- StyleGANとStyleGAN2を使って美少女キャラを無限増殖させる
- Ubuntu 20.04 LTSにnvidia-driver-440とcuda-toolkit-10-1とcuDNNを入れた話
- 「Ubuntu 20.04 LTS 日本語 Remix」に「CUDA 10.0」+「TensorRT 7.0.0」をインストールする
- 【Keras/TensorFlow】GPUを使うまでの手順と注意点などを解説します
- StyleGAN2でアニメキャラクターを生成する
- Tensorflow GPU, CUDA, CuDNNのバージョン早見表
環境
- Ubuntu 20.04 LTS
- GPU: GTX GeForce 1080Ti
- NVIDIA Driver 460.73.01
- CUDA 10.0
- cuDNN 7.4.2
- Python 3.6.9
- TensorFlow 1.14
NVIDIA Driver インストール
こちらを参考にインストールします。私の環境ではバージョン 460.73.01 でした。
GCC 7 インストール
CUDA 10.0 のインストールに GCC 7 が必要なので入れます(Ubuntu 20.04 のデフォルトは GCC 9)
sudo apt install gcc-7
sudo apt install g++-7
# 優先度を設定
# gcc-7 の方が大きければ数値はなんでもいい
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
# バージョン変更できたか確認
gcc --version
CUDA 10.0 インストール
CUDA Toolkit 10.0 Archive で Linux->x86_64->Ubuntu->18.04->deb(network) を選択し、指示に従ってインストールします。最後のインストールコマンドのみ異なります。
- Download ボタンから Base Installer をダウンロード
- 以下のコマンドでインストール
sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-10-0 # ここが違う
# 確認
cat /usr/local/cuda/version.txt
cuDNN 7.4.2 インストール
cuDNN Archiveから Download cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0 を選び、以下の3つをダウンロードします。
- cuDNN Runtime Library for Ubuntu18.04 (Deb)
- cuDNN Developer Library for Ubuntu18.04 (Deb)
- cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb) <-なくても問題はない
次に、ダウンロードしたディレクトリに移動し、以下のコマンドでインストールします。
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
こちらを参考にして、動作確認を行います。
# 過去に他のバージョンを入れていた場合
sudo update-alternatives --config libcudnn
# 動作確認
cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN # Test passed! と出れば OK
Python 3.6.9 インストール
各々の方法でインストールしてください。私は pyenv で管理しています。
pyenv install 3.6.9
pyenv versions
TensorFlow 1.14 インストール
pip install tensorflow==1.14
pip install tensorflow-gpu==1.14
Python で以下のコードを実行します。
# バージョン確認
import tensorflow as tf
print(tf.__version__)
# TensorFlow が GPU を認識しているか確認
# device_type: “GPU” と出れば OK
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
StyleGAN2 でサンプルを実行
git clone https://github.com/NVlabs/stylegan2.git
cd stylegan2
/usr/local/cuda/bin/nvcc test_nvcc.cu -o test_nvcc -run
# 以下のように出れば OK
# CPU says hello.
# GPU says hello.
# サンプルの学習済みモデルで画像を生成
python run_generator.py generate-images --network=gdrive:networks/stylegan2-ffhq-config-f.pkl --seeds=6600-6625 --truncation-psi=0.5
オプション | 説明 |
---|---|
--network |
.pkl ファイルへのパスを指定する。pretrained_networks.py に追記することでエイリアスを設定できる。 |
--seeds | 乱数で画像の枚数を指定する。乱数が変わると生成される画像も変わる。1-10 だと10枚生成され、10,20,30 などとすると3枚生成される。 |
このように人間の顔が26枚生成されていれば大丈夫です。(results
内にあります)
StyleGAN2 でアニメキャラを生成
本題です。
有志の方がモデルを公開しているので、ありがたく使わせていただきます。
Making Anime Faces With StyleGAN
こちらのページにリンクがあります。
https://mega.nz/#!PeIi2ayb!xoRtjTXyXuvgDxSsSMn-cOh-Zux9493zqdxwVMaAzp4
ダウンロードした .pkl
ファイルを stylegan2
内に置きます。
python run_generator.py generate-images --network=2020-01-11-skylion-stylegan2-animeportraits-networksnapshot-024664.pkl --seeds=1-9
無事生成できました!(imagemagick で画像をまとめています)
ほとんど違和感がありません。すごい...
次に、男性キャラを生成してみます。
先程のページの ANIME FACES → MALE FACES
にてモデルをダウンロードできます。
https://mega.nz/#!fMNDkYwS!X-7_nBtsC6P_09CINIJAoVqR3V8Ffbv5On74rVoUbik
run_generator.py
のもう一つのコマンドである style-mixing-example
を使ってみます。
python run_generator.py style-mixing-example --network=2019-05-03-stylegan-malefaces-02107-069770.pkl --row-seeds=1-5 --col-seeds=1-5
このような画像ができました。こちらも自然な顔が生成できています。
seeds を変えると顔も変わるので、色々試してみると面白いです。
最後に
こちらでも紹介されていますが、機械学習用にデータをまとめてネットで公開している方もいるようなので、こういったものを使って自分でも学習させてみたいと思いました。
また、Lightweight GAN という個人の PC でも学習可能なものもあるようなので、そちらも試してみようと思います。
Author And Source
この問題について(Ubuntu 20.04 + StyleGAN2 でアニメキャラを生成してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/ysk0832/items/0a2ffe63bdcdcd82548f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .