首页 > 其他 > 详细

使用tf.keras.layers.Layer自定义神经网络的层

时间:2020-10-30 10:10:29      阅读:245      评论:0      收藏:0      [点我收藏+]

tensorflow中的类tf.keras.layers.Layer可用于创建神经网络中的层,使用说明如下。

使用tf.keras.layers.Layer创建自定义的层

class MyLayer(layers.Layer):
    def __init__(self, num_outputs):
        super(MyLayer, self).__init__()
        self.num_outputs = num_outputs
	
    def build(self, input_shape):
        self.kernel = self.add_variable("kernel",
                                        shape=[int(input_shape[-1]),
                                               self.num_outputs])
        self.bias = self.add_variable("bias",
                                      shape=[self.num_outputs])
    def call(self, input):
        output = tf.matmul(input, self.kernel) + self.bias
        output = tf.nn.sigmoid(output)
        return output

创建一个层

layer1 = MyLayer(3)  # 创建一个由3个神经元构成的层
layer1.build((2,))  # 设定神经层的输入的维度是2
print(layer1.kernel)  #打印接入该神经层的权重矩阵
print(layer1.bias)  #打印该层各神经元的偏置

技术分享图片

创建一个张量并输入该层

a = tf.constant([[0.1,0.2],[0.3,0.4]])  # 创建一个张量
print(layer1.call(a))  # 将张量输入该层

技术分享图片

使用tf.keras.layers.Layer自定义神经网络的层

原文:https://www.cnblogs.com/bill-h/p/13896863.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!