过滤器尺寸一致性

时间:2020-03-15 03:02:22

标签: keras conv-neural-network convolution keras-layer

我正在使用Keras和Keras Tuner构建CNN。目前,我正在使用此代码...

#Model with 
def build_model(hp):
model = keras.Sequential()

#First BLOCK
model.add(keras.layers.Conv2D(filters=hp.Choice('conv_1_filter', 
                             values=[32,64,128,256,512]),
                             kernel_size=hp.Choice('conv_1_kernel', values=[3,5]),
                             padding = 'same',
                             activation = 'relu',
                             input_shape=(224,224,3)))

for i in range(hp.Int('num_layers_1', 1, 3)):
  model.add(keras.layers.Conv2D(filters=hp.Choice('conv_block1_filters_' + str(i),
                                values=[32,64,128,256,512]),
                                kernel_size=hp.Choice('con_block1_kernel_' + str(i),
                                values=[3,5]),
                                padding = 'same',
                                activation = 'relu'))

model.add(keras.layers.MaxPool2D(pool_size=(2,2),strides=(2,2)))



    #CLASSIFIER 
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(2048, activation = 'relu'))
model.add(keras.layers.Dense(7, activation = 'softmax'))
model.compile(optimizer=keras.optimizers.Adam(hp.Choice('learning_rate', 
              values=[1e-2, 1e-3, 1e-4])),
              loss='categorical_crossentropy',
              metrics=['accuracy'])

return model

当前,当模型决定要包含多少个conv层时,它将更改它们之间的过滤器大小。相反,我想做的是遍历整个循环以查看选择的层数以保持过滤器数量一致。

例如,当前正在执行的操作将选择层数,例如2,这两个层的过滤器大小将不同。我希望这些图层的过滤器大小相同。

0 个答案:

没有答案