tensorflow2知识总结---7、dropout抑制过拟合实例
tensorflow2知识总结---7、dropout抑制过拟合实例
一、总结
一句话总结:
操作非常简单,直接增加dropout层即可:model.add(tf.keras.layers.Dropout(0.5))
# 增加dropout层来抑制过拟合 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.Dropout(0.5)) model.add(tf.keras.layers.Dense(128,activation='relu')) model.add(tf.keras.layers.Dropout(0.5)) model.add(tf.keras.layers.Dense(128,activation='relu')) model.add(tf.keras.layers.Dropout(0.5)) model.add(tf.keras.layers.Dense(10,activation='softmax'))
二、dropout抑制过拟合实例
博客对应课程的视频位置:
In [16]:
# 增加dropout层来抑制过拟合
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.Dropout(0.5))
model.add(tf.keras.layers.Dense(128,activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(128,activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(10,activation='softmax'))
In [17]:
model.summary()
In [18]:
model.compile(optimizer=tf.keras.optimizers.Adam(lr=0.01),
loss='sparse_categorical_crossentropy',
metrics=['acc'])
history = model.fit(train_image,train_label,epochs=10,validation_data=(test_image,test_label))
In [19]:
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["font.family"]="sans-serif"
plt.plot(history.epoch, history.history.get('loss'),"r-",linewidth=2,label="训练集:loss")
plt.plot(history.epoch, history.history.get('val_loss'),"g-",linewidth=2,label="测试集:val_loss")
plt.legend(loc ="upper right")
Out[19]:
In [20]:
plt.plot(history.epoch, history.history.get('acc'),"r-",linewidth=2,label="训练集:acc")
plt.plot(history.epoch, history.history.get('val_acc'),"g-",linewidth=2,label="测试集:val_acc")
plt.legend(loc ="upper right")
Out[20]:
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站:
【读书编程笔记】fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
AI交流资料群:753014672