【发布时间】:2021-11-25 21:20:31
【问题描述】:
在here 的 Keras 损失页面中,我看到的两个主要区别是损失类别与损失函数?谁能解释为什么给这两个 API 带来同样的损失?它只是用于类初始化还是任何其他目的?另外,如果有人能解释一下在哪些情况下我们应该使用哪一个,那就太好了。
提前致谢。
【问题讨论】:
标签: python keras deep-learning neural-network
在here 的 Keras 损失页面中,我看到的两个主要区别是损失类别与损失函数?谁能解释为什么给这两个 API 带来同样的损失?它只是用于类初始化还是任何其他目的?另外,如果有人能解释一下在哪些情况下我们应该使用哪一个,那就太好了。
提前致谢。
【问题讨论】:
标签: python keras deep-learning neural-network
可以通过多种方式构建和训练深度学习模型。
构建模型最简单的方法是使用 Keras 函数式 API 或顺序 API 构建模型,使用 compile 方法指定优化器、损失、指标等,并使用 fit 方法训练模型。
如果您选择以这种方式构建模型,则 compile 方法接受 loss class。
注意:您也可以使用 loss 函数
计算损失的实际逻辑存在于类的特殊 call 方法中,该方法在 fit 方法内部使用。
但是,在某些情况下(主要是在研究中),必须以某种方式从头开始编写训练循环,在这种情况下,您可以使用损失函数来计算损失。
注意:您也可以使用损失类
损失类为您提供了一些额外的功能,例如指定 logit 值、缩减技术等。因此,如果您的代码需要使用这些功能,请使用损失类来计算损失。
如果您不需要任何此类功能,您可以简单地使用损失函数。
注意:在后台,这两个函数调用相同的 TensorFlow 图。
【讨论】: