TypeError: Sequential.add() got an unexpected keyword argument 'padding'

Issue

I’m trying to build a model for image classification, but when I run the code, this error shows:
TypeError: Sequential.add() got an unexpected keyword argument 'padding' this is the model:

model.add(Conv2D(32, (3,3), 1, activation='relu', input_shape=(256,256,3), padding='same', kernel_regularizer=regularizers.l2(0.01)))
model.add(MaxPooling2D())

model.add(Conv2D(64, (3,3), 1, activation='relu'), padding='same', kernel_regularizer=regularizers.l2(0.01))
model.add(MaxPooling2D())

model.add(Conv2D(32, (3,3), 1, activation='relu'), padding='same', kernel_regularizer=regularizers.l2(0.01))
model.add(MaxPooling2D())

model.add(Flatten())

model.add(Dense(256, activation='relu'), kernel_regularizer=regularizers.l2(0.01))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

and the error appears in the 4th line, the second time I’m adding the padding

Solution

model.add(Conv2D(32, (3,3), 1, activation='relu', input_shape=(256,256,3), padding='same', kernel_regularizer=regularizers.l2(0.01)))

model.add(Conv2D(64, (3,3), 1, activation='relu'), padding='same', kernel_regularizer=regularizers.l2(0.01))

In the first call, because of the arrangement of parentheses, padding is an argument to Conv2D().

But in the second call your parentheses are different, so padding is incorrectly given as an argument to model.add().

The second call has a closing parentheses after activation='relu', where the first call does not.

Answered By – John Gordon

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published