機械学習 名古屋 第17回勉強会に行ってきた。

今回はGANの話だ。
TensorFlowと、TensorFlow Hubを使ってGANを動かしてみるというハンズオンということだったが、
ハンズオンというより、やり方の紹介のみであとはそれぞれやってみてねという感じだった。
資料は公開されている。
→ GAN と親しもう!(機械学習名古屋第17回勉強会)
持って行ったMacBook Airのバッテリーが切れてしまって、GANを動かすのが出来なかったので、あとでやってみる。
TensowFlow Hubというのを知った。github的に色々なプログラム/ライブラリが公開されており、pythonのコードで簡単にそれらを引っ張ってきて実行させることができる仕組みになっている。
なので、今回のGANを動かすコードもとても短かったりする。
import tensorflow as tf
import tensorflow_hub as hub
from PIL import Image
import numpy as np
# モデルのダウンロード(時間がかかる)
gan = hub.Module("https://tfhub.dev/google/progan-128/1")
# 入力の乱数(placeholderなどを使ってカスタマイズも可)
z_values = tf.random_normal(shape=[10, 512])
images = gan(z_values)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# 画像生成
out = sess.run(images)
# 保存
for i, image in enumerate(out):
Image.fromarray(np.uint8(image * 255)).save(f"result_{i}.png") # 値を0〜255にして保存