画像の一部を変換できるCycleGANに興味が出て、ColaboratoryでCycleGANを動かしてみました。
Android上で動かしたいので、tensorflow liteが使えるようにtensorflowの実装を動かしてみます。動かしたのは、Githubで公開されている以下です。
https://github.com/xhujoy/CycleGAN-tensorflow
このコードでは、学習を行うことで、以下のような変換ができるようです。
では、Colaboratoryで動かした手順を記載します。
1.ソースコードをGithubからクローンする
!git clone https://github.com/garakutanokiseki/CycleGAN-tensorflow.git
2.実行ディレクトリをソースコードの保存場所に変更する。
cd CycleGAN-tensorflow
3.実行に必要なモジュールをインストールする
!pip install tensorflow==1.13.1 !pip install tensorflow-gpu==1.13.1 !pip install scipy==1.2.0 !pip install tflite_support
4.学習データをダウンロードする
bash ./download_dataset.sh horse2zebra
5.必要に応じて学習済みデータをGoogleドライブからコピーする
Colaboratoryは、90分間ごとに操作をしていないと切断されます。または、12時間を超えると強制的に初期化されます。
このため、Google Driveに学習データを適宜保存し、保存時点から再学習する必要があります。
from google.colab import drive drive.mount('/content/drive') !mkdir ./checkpoint !mkdir ./checkpoint/celeba_256 !cp /content/drive/MyDrive/checkpoint/* /content/CycleGAN-tensorflow/checkpoint/celeba_256/
6.学習を実行する。
学習を実行するepochの数を指定じて学習を開始します。
4.で記載した通り、Colaboratoryは、実行時間に制限があるので、適宜停止して、学習済みデータを次のコマンドで保存しておきます。
!python main.py --dataset_dir=celeba --epoch=41 --continue_train=true
7.学習したデータをGoogleドライブに保存する
!cp /content/CycleGAN-tensorflow/checkpoint/celeba_256/* /content/drive/MyDrive/checkpoint
8.変換をテストする
!python main.py --dataset_dir=celeba --phase=test --which_direction=AtoB
0 件のコメント :
コメントを投稿