编码器-解码器网络可以用于不同的输入和输出吗?

时间:2019-07-14 13:09:33

标签: python keras autoencoder encoder-decoder image-translation

致力于图像翻译问题。有许多输入输出图像对,例如以草图为输入,以翻译后的草图为输出。图像为黑白,画线宽度为1像素。

可以使用简单的编码器/解码器来学习图像翻译吗?

下面的代码段来自https://blog.keras.io/building-autoencoders-in-keras.html,其中显示了如何对自动编码器进行编程。显然,作为自动编码器,输入和输出都相同。

autoencoder.fit(x_train, x_train,
                epochs=50,
                batch_size=256,
                shuffle=True,
                validation_data=(x_test, x_test))

但是在这里,我可以代替“ x_train,xtrain”作为前两个参数,而可以给定“ x_train,y_train”,其中x_train是输入图像,y_train是输出图像吗?

理论上正确吗?以下优化器和成本函数会起作用吗?

autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

通常将Pix2Pix网络用于此类工作。但是GAN的主要宗旨是,他们学习成本函数以获得好的输出结果。

在我的问题中,成本函数是非常确定的,而不是一个像素。这样可以清楚地定义错误。

即使在这里尝试Pix2Pix,理论上是否正确?

0 个答案:

没有答案