首页 > 解决方案 > 如何从 VGG19 重建给定特征向量的图像?

问题描述

我正在使用 VGG19 深度 CNN 根据一些输入图像获取 VGG19 中 block5 池化层的输出。我将使用这些特征作为另一种机器学习算法的目标向量。

有谁知道如何根据block5(或任何其他层)的特征重建原始图像?

现在我的代码如下所示:

from tensorflow.keras.applications.vgg19 import VGG19
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.vgg19 import preprocess_input
from tensorflow.keras.models import Model
import numpy as np

base_model = VGG19(weights='imagenet')
model = Model(inputs=base_model.input, outputs=base_model.get_layer('block5_pool').output)

img_path = 'C:/shared/a5/images/training/n01518878_8432.JPEG'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)

features = model.predict(x)

我想采用这些功能,并取回原始图像。有谁知道如何做到这一点?

谢谢

标签: kerasdeep-learningvgg-netimagenet

解决方案


推荐阅读