尝试训练一个 Robust CNN 模型,其定义如下:
from keras.datasets import cifar10
from keras.utils import np_utils
from keras import metrics
from keras.models import Sequential
from keras.layers import Dense, Flatten, Conv2D, MaxPooling2D, LSTM, merge
from keras.layers import BatchNormalization
from keras import metrics
from keras.losses import categorical_crossentropy
from keras.optimizers import SGD
import pickle
import matplotlib.pyplot as plt
import numpy as np
from keras.preprocessing.image import ImageDataGenerator
from keras import layers
from keras.callbacks import EarlyStopping
def Robust_CNN():
model = Sequential()
model.add(Conv2D(256, (3, 3), activation='relu', padding='same', init='glorot_uniform', input_shape=(2,128,1)))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))
model.add(layers.Dropout(.3))
model.add(Conv2D(128, (3, 3), activation='relu', init='glorot_uniform', padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))
model.add(layers.Dropout(.3))
model.add(Conv2D(64, (3, 3), activation='relu', init='glorot_uniform', padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))
model.add(layers.Dropout(.3))
model.add(Conv2D(64, (3, 3), activation='relu', init='glorot_uniform', padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling2D(pool_size=(1, 2), padding='valid', data_format=None))
model.add(layers.Dropout(.3))
model.add(Flatten())
model.add(Dense(128, activation='relu', init='he_normal'))
model.add(BatchNormalization())
model.add(Dense(11, activation='softmax', init='he_normal'))
return model
即使我已经导入了 BatchNormalization,似乎也无法弄清楚为什么会这样。
隔江千里
慕丝7291255
qq_花开花谢_0
皈依舞
江户川乱折腾
相关分类