一、若是batch過小,訓練的時候不易收斂,loss容易震盪,orm
二、能夠設置某幾層freeze,不進行參數的更新input
for layer in model.layers:io
layer.trainable = Flaseast
三、form
model = Sequential()
model.add(ZeroPadding2D(padding=(1,1),data_format='channels_last',input_shape=(img_width,img_height,channels)))
或者
model = Sequential()
model.add(Dense(32,input_shape=(28,28,1)))
Sequential的第一層,無論是Dense層,仍是padding,須要指定input_shape,注意!這個input_shape不包含有多少條數據,默認shape[0]都是數據的條數
而若是是Model,則須要有input層
inputs = Input(shape=(28,28,1))x = ZeroPadding2D(padding=(1,1))(inputs)x = Conv2D(64,kernel_size=(3,3),activation='relu')(x)x = Conv2D(32,kernel_size=(3,3),activation='relu')(x)x = MaxPooling2D(pool_size=(2,2))(x)x = Dropout(0.25)(x)x = Flatten()(x)x = Dense(128,activation='relu')(x)x = Dropout(0.5)(x)outputs = Dense(num_classes,activation='softmax')(x)