不使用init将参数传递给扩展keras.model

不使用init将参数传递给扩展keras.model,keras,python,tensorflow,Keras,Python,Tensorflow,文档提供了在不使用init方法的情况下扩展模型的方法。根据我的理解,这很好,因为您不必实现调用函数。现在要实例化模型,可以执行以下操作 model = CustomModel(inputs, outputs) 不确定输入,输出的去向-很高兴知道-但我的问题是如何在实例化模型时传递附加参数,即: model = CustomModel(inputs, outputs, other_args) 编辑 other_args可以是传递给CustomModel(而不是keras.model)的任

文档提供了在不使用
init
方法的情况下扩展模型的方法。根据我的理解,这很好,因为您不必实现
调用
函数。现在要实例化模型,可以执行以下操作

model = CustomModel(inputs, outputs) 
不确定
输入
输出
的去向-很高兴知道-但我的问题是如何在实例化模型时传递附加参数,即:

 model = CustomModel(inputs, outputs, other_args) 
编辑

other_args
可以是传递给
CustomModel
(而不是
keras.model
)的任何内容,即:
alpha=1.0


研究工作是我查阅了keras文档,它展示了扩展模型的两种方法。公布的方法是实现
\uuuu init\uuu
CustomModel示例允许覆盖示例中模型类(
训练步骤
)的特定方法。 当你打电话的时候

model = CustomModel(inputs, outputs) 
输入是一个张量或自定义模型的输入张量列表,并输出输出张量

您可以在示例中看到:

inputs = keras.Input(shape=(32,))
outputs = keras.layers.Dense(1)(inputs)
这定义了一个具有形状(32,)的输入层和单个输出神经元(没有隐藏层)的图形

请澄清
其他参数的用法。如果这些是模型训练/拟合使用的张量,它们应该是输入/输出参数的一部分(可以是张量列表)。如果
other_args
是影响模型自定义
train_step
函数的参数,则需要定义一个新的init方法,并调用
super()


keras.Model
课程涉及训练和预测模型的机制。ML模型本身被定义为keras.Layer(s)的图形。

@M.inn问题很清楚,下面甚至有一个公认的答案。扩展keras模型时,必须实现init方法。然而,我在文档中展示了一个示例,您不必实现init。所以-我的问题是,在keras文档中,每个示例如何在没有init的情况下传递参数。还有什么不清楚的?顺便说一句,对于“社区”来说,一个替代公认答案的方法是创建一个setter并在编译之前调用它。我没有否决你的问题,这不是我们的风格。除此之外,请编辑您的问题;定义
其他参数
,并包括您在这方面的研究成果。谢谢