どうも、たかです!
会社でGanに触れる機会があったので自分でも何かやってみたいと思い、色々調べてみたらCycleGanというものを知りました。
Ganってたくさん種類あるんですね…(笑)
こんな感じで筆者はAI初心者なのですが試行錯誤してやってみました!
CycleGanを動かしてみよう!
googlecolabratory cycleganとグーグルで検索するとコードを書かなくても使えるものがあります!
便利ですねー(笑)
一応リンクも貼っておきます。
まずは使ってみてどんな感じで動くのか確かめてみるのがいいと思います。
使い方は上から順番に実行していくだけです!
すると最終的には馬画像をシマウマ画像に変換することができます。
monet2photoのデータセットを使ってみよう!
ここからは少し手を加える必要がありますが、せいぜい2~3行です(笑)
やることは以下の通りです。
- monet2photoのデータセットを得る
- photoからmonetへの変換を行う
1. monet2photoのデータセットを得る
まずは「入力パイプライン」のセクションを見てください。
出典:https://colab.research.google.com/github/tensorflow/docs-l10n/blob/master/site/ja/tutorials/generative/cyclegan.ipynb?hl=ja-JPFactory#scrollTo=2CbTEt448b4R
dataset, metadata = tfds.load(‘cycle_gan/horse2zebra’, with_info=True, as_supervised=True)
という行があると思いますが、これの「horse2zebra」を「monet2photo」に変えます。
次に「トレーニング」のセクションを見てください。
下の方に行くとfor epoch in range(EPOCHS):という行が見えてくると思います。
このfor文の中のgenerate_images(generator_g, sample_horse)をgenerate_images(generator_f, sample_zebra)に変えてください!
出典:https://colab.research.google.com/github/tensorflow/docs-l10n/blob/master/site/ja/tutorials/generative/cyclegan.ipynb?hl=ja-JPFactory#scrollTo=iuGVPOo7Cce0
あとは上から順に実行していくとモネの画像を写真風に変換することができます。
2. photoからmonetへの変換を行う
ここも簡単です!
「テストデータセットを使用して生成する」というセクションを見てください。
出典:https://colab.research.google.com/github/tensorflow/docs-l10n/blob/master/site/ja/tutorials/generative/cyclegan.ipynb?hl=ja-JPFactory#scrollTo=iuGVPOo7Cce0
この中のtest_horses.take(5)をtest_zebras.take(5)に変えて、generate_images(generator_g, inp)をgenerate_images(generator_f, inp)に変えます。
そしてこのセクションを実行すると写真をモネ風の画像に変換することができます。
まとめ
初心者でも意外と簡単にGANを体験してみることができますね。
みなさんもぜひ一度GANに親しんでみてはいかがでしょうか?
それではまた!
コメント