#第一种方式
import tensorflow as tf
import tensorflow.keras as keras
import tensorflow.keras.layers as layers
inputs = keras.Input(shape =(784,))
dense1 = layers.Dense(64,activation = 'relu')
x = dense1(inputs)
dense2 = layers.Dense(64,activation = 'relu')
x = dense2(x)
dense3 = layers.Dense(10, activation = 'softmax')
outputs = dense3(x)
model = keras.Model(inputs = inputs, outputs = outputs, name = 'mnist_model')
#第二种方式(常用)
import tensorflow as tf
import tensorflow.keras as keras
import tensorflow.keras.layers as layers
class MyModel(keras.Model):
def __init__(self):
super(MyModel, self).__init__()
self.dense1 = layers.Dense(64, activation = 'relu')
self.dense2 = layers.Dense(64, activation = 'relu')
self.dense3 = layers.Dense(10, activation = 'softmax')
def call(self, inputs):
x = self.dense1(inputs)
y = self.dense2(x)
return self.dense3(y)
inputs = keras.Input(shape =(784,))
myModel = MyModel()
myModel.compile(optimizer = "Adam", loss = 'mse')
myModel.fit(inputs)
总的来说,模型为神经网络模型
784
→
64
→
64
→
10
784 \rightarrow 64 \rightarrow 64 \rightarrow 10
784→64→64→10