【问题标题】:What is the correct way to chain layers in Keras functional api?在 Keras 功能 api 中链接层的正确方法是什么?
【发布时间】:2019-06-06 16:33:00
【问题描述】:

我正在学习如何使用 Keras 功能 api,我的问题很简单,但我无法在互联网上找到任何答案。在 Keras 中命名链层的正确方法是什么?他们的名字应该相同还是不同?有什么约定或规则吗?

让我给你看两个例子。第一个直接来自keras functional api guide

x = Dense(64, activation='relu')(x)
x = Dense(64, activation='relu')(x)
x = Dense(64, activation='relu')(x)

第二个例子是我自己的:

second = Dense(64, activation='relu')(first)
third = Dense(64, activation='relu')(second)
fourth = Dense(64, activation='relu')(third)

我尝试了这两种方法,这两种方法都给了我相同的性能。这两种方式在功能上有什么区别吗?如果没有,是否至少有任何“正式约定”?

【问题讨论】:

  • 你可以添加输入层来确定第一行中的 (first) 和 (x) 是什么意思吗?

标签: python keras neural-network


【解决方案1】:

不,没有。选择变量名称完全取决于您。就计算图(您的网络)而言,两者都构建相同的模型。

您可能使用不同变量名称的唯一原因是稍后引用这些层,例如将第一层与第四层连接起来以创建残差网络等:

x = Dense(64, activation='relu')(input)
y = Dense(64, activation='relu')(x)
z = Concatenate()([x,y])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    相关资源
    最近更新 更多