TensorFlow2.0:自定义层与自定义网络

自定义层函数需要继承layers.Layer,自定义网络需要继承keras.Model。
其内部需要定义两个函数:
1、__init__初始化函数,内部需要定义构造形式;
2、call函数,内部需要定义计算形式及返回值。

#self def layer
class MyDense(layers.Layer):#inherit layers.Layer
    def __init__(self,input_dim,output_dim):#init
        super(MyDense,self).__init__()

        self.kernal = self.add_variable('w',[input_dim,output_dim])
        self.bias = self.add_variable('b',[output_dim])

    def call(self,inputs,training=None):#compute
        out = inputs @ self.kernal + self.bias
        return out
#self def network
class MyModel(keras.Model):#inherit keras.Model
    def __init__(self):#init
        super(MyModel,self).__init__()
        self.fc1 = MyDense(input_dim=28*28,output_dim=512)
        self.fc2 = MyDense(input_dim=512, output_dim=256)
        self.fc3 = MyDense(input_dim=256, output_dim
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值