一、若是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)