gpt4 book ai didi

python - keras 中的图像到图像映射

转载 作者:行者123 更新时间:2023-11-30 09:30:34 24 4
gpt4 key购买 nike

我是机器学习新手。我有一个 2D 数组(图像)需要映射到另一个 2D 数组(图像)。在分类问题中,所有示例均使用输出为 1 的Dense 层。但是,我的问题是简单地将图像映射到另一个图像。如何在 keras.txt 中指定输出 2Darray(image)请在下面找到示例代码。我需要更改架构以提供与输入(2Darray)大小相同的输出。

from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Activation, Dropout, Flatten, Dense

model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(3, 150, 150)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten()) # this converts our 3D feature maps to 1D feature vectors
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))

最佳答案

您需要的是一些自动编码器对称结构。与普通架构不同,您的输出将为 3D,因为您有图片作为输出。然后,您可以使用与输入/输出相同的数据来拟合模型。这是一个包含生成数据的简单示例:

from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D, Dropout, UpSampling2D
import numpy as np

input = np.random.rand(10, 30, 30)

input = input[..., None] # keras needs 4D input, so add 1 dimension

model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=(30, 30, 1), activation='relu', padding='same'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(Dropout(0.5))
model.add(Conv2D(64, (3, 3), activation='relu', padding='same'))
model.add(UpSampling2D((2, 2)))
model.add(Conv2D(1, (3, 3), activation='sigmoid', padding='same'))

model.compile(loss='mean_squared_error', optimizer='adam')

model.fit(input, input, batch_size=8, epochs=1)

关于python - keras 中的图像到图像映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59579586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com