【问题标题】:How to turn a Classifier model into an image generator?如何将分类器模型变成图像生成器?
【发布时间】:2020-06-13 07:37:03
【问题描述】:

我已经用这个训练了一个分类器:https://teachablemachine.withgoogle.com/

然后我设置了一个可以运行模型的 python 环境。我听说通过一些调整,这样的模型可以变成一个像深度梦想的模型。 有谁知道我可以如何使用 keras 调整模型以生成它学习过的共同分类的图片?甚至可能吗?

这是我当前的代码:

import tensorflow.keras
from PIL import Image, ImageOps
import numpy as np
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

# Disable scientific notation for clarity
np.set_printoptions(suppress=True)

# Load the model
model = tensorflow.keras.models.load_model('C:/Users/me/Downloads/keras_model.h5')

# Create the array of the right shape to feed into the keras model
# The 'length' or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1.
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)

# Replace this with the path to your image
image = Image.open('C:/Users/me/Downloads/0a8d8fa2c09ed00a54b6590f2fa01436.jpg')

#resize the image to a 224x224 with the same strategy as in TM2:
#resizing the image to be at least 224x224 and then cropping from the center
size = (224, 224)
image = ImageOps.fit(image, size, Image.ANTIALIAS)

#turn the image into a numpy array
image_array = np.asarray(image)

# display the resized image
image.show()

# Normalize the image
normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1

# Load the image into the array
data[0] = normalized_image_array

# run the inference
prediction = model.predict(data)
print(prediction)

【问题讨论】:

    标签: python tensorflow machine-learning keras


    【解决方案1】:

    这个想法很简单。您需要将图像提供给模型,然后将图像本身而不是模型的权重最大化某些层的激活(更改层会改变结果) tensorflow 做了一个很棒的笔记本,查看here 了解更多信息和详细示例

    【讨论】:

      猜你喜欢
      • 2022-10-01
      • 2022-11-09
      • 1970-01-01
      • 2016-02-17
      • 2021-01-11
      • 2013-10-21
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      相关资源
      最近更新 更多