これは、リファクタリングしたいクラスのおもちゃの例です。実際には、運動量などのパラメーター/属性がはるかに多いため、多くのコードの繰り返しがあります。
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
このクラスをスタイリッシュに書き直す方法はありますか?