自定义层 | |
---|
init() | 首先是一些必要的参数的初始化 |
build() | 主要声明需要更新的参数部分 |
call() | 包含了主要层的实现 |
class MyLayer(tf.keras.layers.Layer):
def __init__(self,output_dim):
self.output_dim=output_dim
super(MyLayer,self).__init__()
def build(self,input_shape):
self.weight=tf.Variable(tf.random.normal([input_shape[-1],self.output_dim]),name="dense_wight")
self.bias=tf.Variable(tf.random.normal([self.output_dim]),name="bias_weight")
super(MyLayer,self).build(input_shape)
def call(self,input_tensor):
out=tf.matmul(input_tensor,self.weight)+self.bias
out=tf.nn.relu(out)
put=tf.keras.layers.Dropout(0.1)(out)
return out