什么是Keras的“自我”?

时间:2018-04-09 16:35:54

标签: python

我是机器学习和Python的新手。 我一直在使用Keras进行项目。 Model的几乎所有属性的第一个参数是self

例如:

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

有人可以告诉我self指的是什么吗?

1 个答案:

答案 0 :(得分:0)

Model的方法中,self是您正在使用的类Model的特定实例。如果一个类是一个物种,那个类的一个实例(或对象)就是该物种的特定个体。

在过程语言(例如C)中,所有数据都作为参数传递给函数。在支持面向对象的语言(例如Python)中,函数(方法)被认为属于某些类对象。不是将这样的对象作为显式参数传递给函数,而是匿名传递""在self

<object>.<function> (<explicit params>)会调用<function> (self = <object>, <explicit params>)

在一些面向对象的语言(例如C ++)中,如果调用是从另一个方法调用的,那么self(或者在这种情况下this参数甚至不必提及相同的对象,但它无论如何都隐含着。