【发布时间】:2017-10-10 10:15:56
【问题描述】:
我想知道是否可以将自定义模型添加到 keras 的损失函数中。例如:
def model_loss(y_true, y_pred):
inp = Input(shape=(128, 128, 1))
x = Dense(2)(inp)
x = Flatten()(x)
model = Model(inputs=[inp], outputs=[x])
a = model(y_pred)
b = model(y_true)
# calculate MSE
mse = K.mean(K.square(a - b))
return mse
这是一个简化的示例。我实际上会在损失中使用 VGG 网络,所以只是想了解 keras 的机制。
【问题讨论】:
-
你试过了吗?尝试听起来很简单。但我建议在损失函数之外创建模型。你的损失函数应该从
a=model(y_pred)这一行开始。 -
但是:你希望那个小模型和包含损失函数的模型一起训练吗?那我就不说了。
-
不,这是一个冷冻模型。这是为了 VGG 损失
标签: python tensorflow keras deep-learning vgg-net