keras - 如何从 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)
我想采用这些功能,并取回原始图像。有谁知道如何做到这一点?
谢谢
解决方案
推荐阅读
- react-native - 使用 YouTube Data v3 API 调用反应原生 JSON 问题
- python - 在Python中计算字典中列表的平均值
- django-forms - 我无法在 django 的新博客文章中添加图片
- git - 有没有一种简单的方法来交换分阶段和非分阶段的 Git 内容?
- css - 我们如何在 js 的 css 中添加 -webkit-transform 属性?
- github - 将 PyCharm 文件推送到 GitHub
- html - 将输入搜索只读设置为 false onclick
- python - 使用 fmin_l_bfgs_b() 函数时出现 TypeError
- html - 使 DIV 与当前行高一样宽?
- linux - 在简单的 bash 脚本中使用 find 命令和 if 语句