【问题标题】:Saving autoencoder output array as an image将自动编码器输出数组保存为图像
【发布时间】:2019-03-31 01:51:03
【问题描述】:

我设计了一个自动编码器来读取 (256*256) RGB 图像,该图像将输出作为 float32 元素的数组,尺寸为 (256,256,3),其中一些元素如图所示。

img = Image.open('C:\\Users\\ece\\Desktop\\validation\\validate\\small_0002_7.jpg')
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
images = np.vstack([x])
classes = autoencoder.predict(images)

正如我观察到的输出数组值在 output values

【问题讨论】:

    标签: python-3.x numpy neural-network deep-learning autoencoder


    【解决方案1】:

    自动编码器应该将输出幅度与输入幅度相匹配,因此您可能在层中进行了预处理,或者您的成本函数也具有比例因子。

    要保存您的图像,请将结果乘以 255,将其转换为 np.uint8,然后使用 spicy.misc.imsave 之类的内容保存。

    【讨论】:

    • 您好我之前使用以下代码行重建图像 ---classes1=np.reshape(classes,(256,256,3)) img = Image.fromarray(classes1, 'RGB') img .save('my.jpg') img.show() ----它给出的只是一张嘈杂的图像。
    • 你确定你有一个有效的输出图像吗?
    • 自动编码器将输入作为 (1,256,256,3)。我有一个输出-“类”,它是具有维度 (1,256,256,3) 的 float32 数组。模型没问题.. 现在第一个问题是如何将输入验证图像传递给模型。为此,我给出了我的帖子中显示的代码行。其次,如何保存——我在对您的回答的评论中使用了上面提到的代码行。现在我不确定错误的来源——是我错误地传递了输入图像,还是输出的表示错误。
    • 我的意思是,你如何检查输出图像(保存前)是否有噪音?
    • 我在github.com/luispedro/BuildingMachineLearningSystemsWithPython/… 做过类似的事情。确保范围正常并不总是直观的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 2021-06-17
    • 1970-01-01
    • 2010-10-28
    • 2022-08-11
    • 2021-04-23
    相关资源
    最近更新 更多