self.activation(x @ self.kernel + self.bias)为什么可以传参进去?

来源:3-6 使子类与lambda分别实战自定义层次

weibo_我爱自然爱非洲_0

2019-11-28

初始化__init__里面self.activation不是已经调用了 keras.layers.Activation(activation) 了吗, 这里的self.activation(x @ self.kernel + self.bias)为什么可以传参进去?

写回答

1回答

正十七

2020-01-19

同学你好,抱歉之前遗漏了这个问题:

keras.layers.Activation(activation)里小写的activation是一个函数(或者是字符串),然后传给keras.layers.Activation后构成了一个层次,在调用self.activation()的时候,这个会触发keras.layers.Activation的call方法,在call方法里,就是调用的之前传进去的activation方法去做。

可以参考源代码:https://github.com/tensorflow/tensorflow/blob/r2.1/tensorflow/python/keras/layers/core.py#L375-L378


1
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程