我正在查看One-Class Neural Network处的代码。
作者创建一个实例方法
def custom_ocnn_loss(self,nu, w, V):
但稍后在OC_NN
fit
实例方法内部,使用类名称访问它:
model.compile(loss=OC_NN.custom_ocnn_loss(self,nu, w, V), optimizer=opt,metrics=None)
有理由这样做吗?
在脚本中,custom_ocnn_loss
函数具有@staticmethod
装饰器,这意味着它不是实例方法,而是静态方法。变量self
的建议可能有所不同,但是在调用custom_ocnn_loss
函数时,会将self
变量传递给它。