【问题标题】:How to deal with the model output to compute the loss如何处理模型输出以计算损失
【发布时间】:2019-09-21 14:01:52
【问题描述】:

我正在努力在 Keras 中训练模型,通过最小化正确数据和“输入*输出”之间的损失,但不知道如何处理它。

鉴于此

X:模型输入(训练数据)

Y:模型输出

T:正确的数据

模型 = 模型(输入=X,输出=Y)

那么,在我的理解中, model.fit(X,T) 根据用户定义的损失函数训练模型以最小化 Y(=model(X)) 和 T 之间的距离。

我的问题是: 如果我想最小化 Y*X 和 T 之间的距离怎么办?

我认为像“model.fit(X * model.predict(X), T)”这样的写法会很好用吗? (实际上并没有) 我想知道如何编写代码来做到这一点。

提前感谢您的建议。

【问题讨论】:

    标签: python keras model


    【解决方案1】:

    制作功能性 API 模型:

    inputs = Input(input_shape)
    outputs = SomeLayer(...)(inputs)
    outputs = SomeLayer(...)(outputs)
    outputs = SomeLayer(...)(outputs)
    ....
    
    outputs = Multiply()([inputs, outputs])
    
    model = Model(inputs, outputs)
    model.compile(optimizer=optimizer, loss=loss, metrics=metrics)
    
    model.fit(X, T, ...)
    

    【讨论】:

    • 感谢您的快速回复。根据您的回答,输出似乎成倍增加。但是,我希望模型在乘以输入之前输出 Y。
    猜你喜欢
    • 2020-10-27
    • 2019-05-08
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    相关资源
    最近更新 更多