训练笔记

1、如果batch太小,训练的时候不易收敛,loss容易震荡,

2、可以设置某几层freeze,不进行参数的更新

for layer in model.layers:

  layer.trainable = Flase

 

3、

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)
posted @ 2019-10-28 09:36  yjy888  阅读(264)  评论(0编辑  收藏  举报