关于python:这个语法在keras dropout(0.5)(x)中意味着什么?

What does this syntax mean in Keras Dropout(0.5)(X)?

本问题已经有最佳答案,请猛点这里访问。

我知道右手边的'X'是你申请辍学前的输入。现在,当你说Dropout(0.5)(X)时,这意味着你随机地将输入中50%的神经元激活为零。

这一行Dropout(0.5)的意思是使类的新对象退出,并在其构造函数中传递0.5。但在结尾加上X?这在Python语法中意味着什么?


此代码有多种工作方式,2我现在想到:

使用类的内置__call__函数

1
2
3
4
5
6
7
8
>>> class MyClass:
...     def __init__(self, name):
...             self.name = name
...     def __call__(self, word):
...             print(self.name, 'says', word)
...
>>> MyClass('Tom')('hello')
Tom says hello

返回函数的函数

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

我希望这有帮助