dropout层优化

你们好,我的问题是我训练集训练80次,结果为loss=0.14,acc=0.96,但是我的测试集acc=0.3,可以帮我写下在隐藏层,可见层使用dropout优化结构吗,

from tensorflow.python.keras.datasets import cifar100
from tensorflow.python.keras import layers,losses,optimizers
from tensorflow.python.keras.models import Sequential
import tensorflow as tf
import matplotlib.pyplot as plt
(train_image,train_table),(test_image,text_table) = cifar100.load_data()
train_image=train_image/255.0
test_image=test_image/255.0
 
model=Sequential([
        layers.Conv2D(32,kernel_size=5,strides=1,padding='same',data_format='channels_last',activation=tf.nn.relu),
        layers.MaxPool2D(pool_size=2,strides=2,padding='same'),
        layers.Conv2D(64,kernel_size=5,strides=1,padding='same',data_format='channels_last',activation=tf.nn.relu),
        layers.MaxPool2D(pool_size=2,strides=2,padding='same'),
        layers.Flatten(),
        layers.Dropout(0.5, input_shape=1024),
        layers.Dense(1024,activation=tf.nn.relu),
        layers.Dropout(0.5, noise_shape=None),
        layers.Dense(100,activation=tf.nn.softmax)
])
model.compile(optimizer=optimizers.adam_v2.Adam(),
                               loss=losses.sparse_categorical_crossentropy,
                               metrics=['accuracy'])
model.fit(train_image,train_table,epochs=30,batch_size=32)
test_loss,test_acc=model.evaluate(test_image, text_table)
print(model.summary())
plt.scatter(test_loss,test_acc)

有人可以帮我写一下drop层在隐藏层,池化,卷积的程序吗,拜托了,我刚学,我这样写的是错的了,可以帮我具体写一下吗


from tensorflow.python.keras.datasets import cifar100
from tensorflow.python.keras import layers,losses,optimizers
from tensorflow.python.keras.models import Sequential
import tensorflow as tf


(train_image,train_table),(test_image,text_table) = cifar100.load_data()
train_image=train_image.astype('float32')
test_image=test_image.astype('float32')
train_image=train_image/255
test_image=test_image/255 
model=Sequential([
        layers.Conv2D(32,kernel_size=5,strides=1,padding='same',data_format='channels_last',activation=tf.nn.relu),
        layers.MaxPool2D(pool_size=2,strides=2,padding='same'),
        layers.Conv2D(64,kernel_size=5,strides=1,padding='same',data_format='channels_last',activation=tf.nn.relu),
        layers.MaxPool2D(pool_size=2,strides=2,padding='same'),
        layers.Flatten(),
        layers.Dropout(0.5, input_shape=1024),
        layers.Dense(1024,activation=tf.nn.relu),
        layers.Dropout(0.5, noise_shape=None),
        layers.Dense(100,activation=tf.nn.softmax)
])       

model.compile(optimizer=optimizers.adam_v2.Adam(),
                               loss=losses.sparse_categorical_crossentropy,
                               metrics=['accuracy'])
model.fit(train_image,train_table,epochs=1200,batch_size=32)
model.evaluate(test_image, text_table)
print(model.summary())