搭建神经网络的三种方法,Sequential/add/定义类

搭建神经网络的三种办法

Sequential

	model = tf.keras.models.Sequential([
								tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2()) ])
	model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
	              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
	              metrics=['sparse_categorical_accuracy'])
	model.fit(x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)
	model.summary()

Sequential和add组合

	model=tf.keras.Sequential()
	model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
	model.add(tf.keras.layers.Dense(128,activation="relu"))
	model.add(tf.keras.layers.Dense(10,activation="softmax"))

定义类形式

	class MyModel(Model):
	    def __init__(self):
	        super(MyModel, self).__init__()//初始化网络结构,首先找到MyModel的父类Model,然后运行父类Model的__init__初始化函数
	        self.d1 = Dense(1024)
	    def call(self, x):  
	        y = self.d1(x)
	        return y
	model = Mymodel()    

おすすめ

転載: blog.csdn.net/weixin_44885180/article/details/120318502
おすすめ