【发布时间】:2021-03-30 09:15:17
【问题描述】:
我试图通过子类化创建一个 keras 模型:
class MyModel(Model):
def __init__(self):
super(MyModel, self).__init__()
self.dense1 = Dense(64, activation='relu')
self.dense2 = Dense(10)
def call(self, inputs):
x = self.dense1(inputs)
return self.dense2(x)
model = MyModel(tf.random.uniform([1, 10]))
model.summary()
我希望它等于这个 squential api:
inputs = tf.keras.Input(shape=(3,))
x = tf.keras.layers.Dense(64, activation=tf.nn.relu)(inputs)
outputs = tf.keras.layers.Dense(10, activation=tf.nn.softmax)(x)
model = tf.keras.Model(inputs=inputs, outputs=outputs)
但在运行这些行之后,我得到:
TypeError: __init__() takes 1 positional argument but 2 were given
你能帮忙吗?
【问题讨论】:
-
我看到您的发帖历史记录包含许多您尚未提供反馈的问题(我已提供答案)。如果答案对您有帮助,请不要犹豫对答案进行投票,如果没有,请提出改进建议。
-
确实,正如@NicolasGervais 建议的那样,如果答案解决了您的问题,请接受(见What should I do when someone answers my question?),否则请留下反馈。
标签: python tensorflow keras tensorflow2.0 tf.keras