【发布时间】:2020-06-06 16:33:38
【问题描述】:
我正在制作一个采用灰度图像并返回 rgb 图像的模型。现在我使用 MSE 作为损失函数,但我认为这不是一个好的选择。在这类问题中使用哪种损失函数更好?
我的模型是 AutoEnconder。我正在使用以下函数来构建它:
def conv2d(layer_input, filters, f_size=3, bn=True, strides_ = 2):
d = Conv2D(filters, kernel_size=f_size, padding='same', activation='relu')(layer_input)
d = AveragePooling2D(pool_size=(2,2),strides=(2,2))(d)
d = LeakyReLU(alpha=0.2)(d)
if bn:
d = BatchNormalization(momentum=0.9)(d)
return d
def deconv2d(layer_input, skip_input, filters, f_size=4, dropout_rate=0):
u = UpSampling2D(size=2)(layer_input)
u = Conv2D(filters, kernel_size=f_size, strides=1, padding='same')(u)
u = LeakyReLU(alpha=0.2)(u)
if dropout_rate:
u = Dropout(dropout_rate)(u)
u = BatchNormalization(momentum=0.8)(u)
u = Concatenate()([u, skip_input])
return u
【问题讨论】:
标签: python-3.x tensorflow keras deep-learning conv-neural-network