python - 使用 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",target_size=(210,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,(3,3),activation='relu'))
model.add(MaxPooling2D((2,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:将图像输入 CNN 并获取图像输出
解决方案
这不是分类或回归问题。因此,您使用的神经网络类型(卷积)不适合这个问题。
我认为神经风格迁移会更合适。在这种情况下,应该使用生成对抗网络 (GAN)。
您可以在此处阅读有关它的示例:https ://www.tensorflow.org/tutorials/generation/dcgan
推荐阅读
- r - 如何在闪亮中指定具有不同样式的不同单选按钮?
- c# - 从包含的 ObjectB 访问 ObjectA 的成员
- jsbin - jsbin - 是否可以更改快捷方式?
- java - 将 Firebase 中的数据显示到自定义信息窗口中
- c# - ftp 发布 vs 文件夹发布和使用 FTP 程序上传
- javascript - 关闭 Ant Design 面板 onClick 后自动折叠
- java - 如何使用 BFS 正确实现最大权重无关的正树集
- php - 使用队列发送多封电子邮件失败
- r - 预测随机森林 AUC 时出错
- javascript - Tampermonkey Java Script 在 Chrome 控制台中插入和运行