[Colaboratory]CycleGANを動かしてみました。

画像の一部を変換できる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 件のコメント :

コメントを投稿