在表达式结尾处用括号写的变量

Jef*_*vis 0 python

我正在阅读CNTK教程,我有以下功能:

def create_model(features):
with C.layers.default_options(init=C.layers.glorot_uniform(),
                              activation=C.ops.relu):
    h = features
    for _ in range(num_hidden_layers):
        h = C.layers.Dense(hidden_layers_dim)(h)
    r = C.layers.Dense(num_output_classes, activation=None)(h)
    return r
Run Code Online (Sandbox Code Playgroud)

函数本身不是我的困惑点,我实际上关注return语句前两行的语法:h = C.layers.Dense(hidden_layers_dim)(h)r = C.layers.Dense(num_output_classes, activation=None)(h).

这是什么东西(h)写在行尾?这个语法叫什么,它做了什么?我试着查一下,但我甚至不知道在搜索中该怎么称呼它.

dec*_*eze 7

C.layers.Dense(hidden_layers_dim)返回一个用参数调用的函数h.你也可以把它写成:

fun = C.layers.Dense(hidden_layers_dim)
h = fun(h)
Run Code Online (Sandbox Code Playgroud)