这是我要重构的类的玩具示例。实际上,我有更多的参数/属性,比如动量,所以有很多代码重复:
class TransformBl(tf.keras.Model):
def __init__(self,
features,
momentum=0.1,
**kwargs):
super(TransformBl, self).__init__(**kwargs)
self.features = features
self.momentum = momentum
self.transform = tf.keras.layers.Dense(self.features, use_bias=False)
def call(self, inputs, training=None):
x = self.transform(inputs)
return x
我已经开始寻找避免重复的解决方案,并且attrs
图书馆似乎很合适。features
和momentum
继承没有问题。不幸的是,我找不到像
我试过的那样super(TransformBl, self).__init__(**kwargs)
的构造示例,但我得到了__init__
super()
RuntimeError: super(): no arguments
有没有办法重新编写这个类的attrs
风格?