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

  • Post author:
  • Post category:其他




搭建神经网络的三种办法



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()    



版权声明:本文为weixin_44885180原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。