这个语法在Keras Dropout(0.5)(X)中意味着什么?

时间:2018-03-09 12:13:00

标签: python keras

我知道右侧的'X'是您应用dropout之前的输入。现在,当你说Dropout(0.5)(X)时,就意味着你随机将输入中50%的神经元激活为零。

这一行Dropout(0.5)表示正在创建Dropout类的新对象并在其构造函数中传递0.5。但是在X结束时附加了?{1}}?这在Python语法中意味着什么?

1 个答案:

答案 0 :(得分:2)

此代码有多种方式可以使用,2现在我想到了:

使用类的内置__call__函数

>>> class MyClass:
...     def __init__(self, name):
...             self.name = name
...     def __call__(self, word):
...             print(self.name, 'says', word)
...
>>> MyClass('Tom')('hello')
Tom says hello

返回函数的函数

>>> def add(a):
...     def f2(b):
...             print(a+b)
...     return f2
...
>>> add(1)(2)
3

我希望这会有所帮助