【问题标题】:What is the difference between keras.layer()(x) and keras.layer(x) in the functional API of keras?keras 的功能 API 中的 keras.layer()(x) 和 keras.layer(x) 有什么区别?
【发布时间】:2021-07-13 11:49:51
【问题描述】:

我想知道做类似的事情有什么区别

dense = Dense(64)
x = dense(input)

还有这个

dense = Dense(64)(input)

这两个符号是否等价?

【问题讨论】:

  • 它们执行后有不同的功能吗?
  • @PooyaChavoshi 我不这么认为?我可以在我非常简单的模型中互换使用它们,而不会注意到任何区别。
  • 这可能是由于方法的输入参数不同。
  • 抱歉,“这个”是什么意思?
  • keras.layer()(x) 和 keras.layer(x) 之间的功能

标签: keras keras-layer tf.keras


【解决方案1】:

编辑后:

不,没有区别,它们生成的模型完全相同。

编辑前:

来自 keras 功能 API 文档:

您可以通过在此输入对象上调用层来在层图中创建一个新节点:

dense = layers.Dense(64, activation="relu")
x = dense(inputs)

在您发布的代码中没有分配。

检查模型如何与绘图方法连接,一个层可能存在但与模型的其余部分没有连接。

keras.utils.plot_model(model, "my_first_model.png")

来源:

https://keras.io/guides/functional_api/

【讨论】:

  • 谢谢,刚才看到了,做了一个不完整的例子。我的意思是问,dense = Dense(64) dense(input) 和 just dense = Dense(64)(input) 有什么区别
  • 这些分配没有区别,都是一样的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 2015-08-24
  • 2011-05-10
  • 2012-08-09
  • 2016-07-23
相关资源
最近更新 更多