如何解决使用keras的输出图像-如何指定输出层的形状输入图像和输出图像的尺寸分别为210,210,3
我是Keras的新手。我正在尝试将彩色反转图像输入到神经网络中,然后预测真实图像。这样我的x成为倒像,而y成为实像。 但是我不知道如何用keras获取输出图像。
这是我的代码。
import numpy as np
from keras.preprocessing.image import load_img
from keras.preprocessing.image import img_to_array
from keras.models import Sequential
from keras.layers import Conv2D,MaxPooling2D,Flatten,Dense
real=[]
for i in range(1,11):
img=load_img(f"resized 1/{i}.jpg",target_size=(210,200))
img=img_to_array(img)
real.append(img)
invs=[]
for i in range(1,11):
img=load_img(f"resized 2/{i}i.jpg",200))
img=img_to_array(img)
invs.append(img)
x=np.array(invs)
y=np.array(real)
x=x/255
y=y/255
model=Sequential()
model.add(Conv2D(64,(3,3),activation='relu'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64,2)))
model.add(Flatten())
model.add(Dense(128,input_shape=x.shape[1:],activation='relu'))
这之后我该怎么办?我应该如何指定输出层...。我被困住了
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])
model.fit(x,y,epochs=5,validation_split=0.1)
谢谢。 我已经转贴了这篇文章,但一无所获-Keras: feed images into CNN and get image output
解决方法
这不是分类或回归问题。因此,您正在使用的神经网络类型(卷积)不适用于此问题。
我认为神经风格转换会更合适。在这种情况下,应使用通用对抗网络(GAN)。
您可以在此处阅读有关示例:https://www.tensorflow.org/tutorials/generative/dcgan
在GAN中进行研究之后。此问题适用于Pix2Pix GAN。
https://machinelearningmastery.com/how-to-implement-pix2pix-gan-models-from-scratch-with-keras/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。