在张量流中对how to create custom layers进行了很好的介绍。
取自文档的示例为
class MyDenseLayer(tf.keras.layers.Layer):
def __init__(self, num_outputs):
super(MyDenseLayer, self).__init__()
self.num_outputs = num_outputs
def build(self, input_shape):
self.kernel = self.add_weight("kernel",
shape=[int(input_shape[-1]),
self.num_outputs])
def call(self, input):
return tf.matmul(input, self.kernel)
layer = MyDenseLayer(10)
我想知道,在不与反向传播引擎发生冲突的情况下,必须创建哪些选项。
我可以使用
1. **numpy** statements
2. **if/else** statements
3. **for** loops
4. **lists and dictionaries*
我认为使用numpy是困难的,但是我可以在例如for循环?
如果您可以提供其他规则,请随时添加。