当前位置:   article > 正文

Keras定义Layer和Model_tf.keras.layers.layer

tf.keras.layers.layer

自定义Layer

tf.keras.layers.Layer 是所有 Keras 层的基类,它继承自 tf.Module。
定义call
    您只需换出父项,然后将 __call__ 更改为 call 即可将模块转换为 Keras 层
定义build
    定义输入的shape.build 仅被调用一次,而且是使用输入形状时调用的。它通常用于创建变量(权重)

  1. import tensorflow as tf
  2. class MyLayer(tf.keras.layers.Layer):
  3. # Note the added `**kwargs`, as Keras supports many arguments
  4. def __init__(self , out_features, **kwargs):
  5. super().__init__(**kwargs)
  6. self.out_features = out_features
  7. # 创建变量(权重)
  8. def build(self, input_shape):
  9. self.w = tf.Variable(
  10. tf.random.normal([input_shape[-1], self.out_features]),
  11. name='w'
  12. )
  13. self.b = tf.Variable(tf.zeros([self.out_features]),
  14. name='b')
  15. # 定义前项传递的计算
  16. def call(self, inputs):
  17. return tf.matmul(inputs, self.w) + self.b
  18. #
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/94462
推荐阅读
相关标签
  

闽ICP备14008679号