悪夢のような画像を生成できる「DeepDream」をTensorFlow2.0で試してみる

最終更新日:


先日、「DeepDreamを簡単に実装できるよ、そうTensorFlow2.0ならね」と話を聞いたので動かしてみました。
以下のtweetからコードをお借りしています。
Here’s a minimal implementation of Deep Dream in @TensorFlow 2.0, using the Keras Functional API for feature extraction (it’s just a few lines!) and a GradientTape for hackability.https://t.co/89Ehh7W6dC pic.twitter.com/buMI1eWCug— Josh Gordon (@random_forests) April 8, 2019
DeepDreamって?
Googleが開発した画像生成AIです。数年前に話題になっていましたね。
特徴を埋め込み、非常におもしろい画像を生成できます。
https://github.com/google/deepdream
パッケージのインポート
import numpy as np
import tensorflow as tf
from IPython.display import clear_output
from matplotlib import pyplot as plt
from tensorflow.keras.preprocessing import image
tensorflow2.0の導入については、先日書いた記事をご参照ください。
関数を定義
#ダウンロードした画像をNumpyのarray型とする。
def download(url):
name = url.split(“/”)[-1] image_path = tf.keras.utils.get_file(name, origin=url)
img = image.load_img(image_path)
return image.img_to_array(img)
#画像を-1.0〜1.0の範囲にスケーリングする。
def preprocess(img):
return (img / 127.5) – 1
#作成したpreprocess処理をもとに戻す。

サイト名: Qiita
2019年5月13日

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する