Tensorflow2.0实例化 Model 的两种方式

1、在“函数式API”中,从“输入层”开始,当前层的输入层是前一层的输出层,最后用输入层和输出层创建模型:

inputs = tf.keras.Input(shape=(28,28,1))
x = Conv2D(32,3,activation='relu')(inputs)
x = Flatten()(x)
x = Dense(128,activation='relu')(x)
outputs = Dense(10,activation='softmax')(x)
model_1 = tf.keras.Model(inputs,outputs)

2、通过定义tf.keras.Model的子类创建模型,重写__init__方法和call方法,init方法用来定义需要用到的layers,call用来推理,返回输出层。

class MyModel(tf.keras.Model):
    def __init__(self):
        super(MyModel, self).__init__()
        self.conv1 = Conv2D(32, 1, activation='relu')
        self.flatten = Flatten()
        self.d1 = Dense(128, activation='relu')
        self.d2 = Dense(10, activation='softmax')

    def call(self, x):
        x = self.conv1(x)
        x = self.flatten(x)
        x = self.d1(x)
        return self.d2(x)

model = MyModel()

你可能感兴趣的:(Tensorflow2.0)