import tensorflow as tf
class MyLayer(tf.keras.Sequential):
def __init__(self, **kwargs):
super(MyLayer, self).__init__(**kwargs)
self.add(tf.keras.layers.Dense(1, input_shape=[10], use_bias=False)) # Use a first predefined layer
self.add(tf.keras.layers.Layer()) # Use a second predefined layer
if __name__ == '__main__':
l = MyLayer()
print(l.summary())
print(l(tf.constant([[0] * 10])))
从您的问题中,我了解到您希望利用类基API来定义自己的构建块/层/模型,该构建块/层/模型封装了两个预定义的层
不过,最好的解决方案是继承
tf.keras.layers.Layer
类并正确重写call
方法,但可能需要更多行编辑
层实现并不是那么困难:
在实例化时需要更多:
我认为这是实现您的要求的正确方法,但我从未真正理解从
Model
继承还是从Layer
继承的区别。看看dedicated guide并给我你的反馈相关问题 更多 >
编程相关推荐