1 前言
這幾天我們在繼續學習DeepLabV3+的模型,看到了loss函數的相關代碼,於是想要學習一下並記錄學習的心得~
2 loss函數的父類本質上是Module類
觀察源碼可以知道,loss函數的父類本質上是Module類,
這裏我們以常用的nn.CrossEntropyLoss()爲例,來看看類的繼承過程:
# 首先是nn.CrossEntropyLoss()的類聲明
class CrossEntropyLoss(_WeightedLoss):
# rest of the class code
# ……
# CrossEntropyLoss繼承於_WeightedLoss
class _WeightedLoss(_Loss):
# rest of the class code
# ……
# _WeightedLoss繼承於_Loss
class _Loss(Module):
# rest of the class code
# ……
# 所以nn.CrossEntropyLoss本質上還是繼承於Module