Keras 在顺序层的UpSampling2D层中不理解填充

Keras 在顺序层的UpSampling2D层中不理解填充,keras,keras-2,Keras,Keras 2,我正在用顺序keras API构建一个CNN模型,但在第12行(model.add(UpSampling2D((2,2),padding='same'))上出现以下错误 我使用的是Keras 2.2.4和Tensorflow 1.12.0 你知道为什么会这样吗 我的代码是: # Fit regression DNN model print("Creating/Training CNN") model = Sequential() model.add( Conv2D(16, (3, 3), in

我正在用顺序keras API构建一个CNN模型,但在第12行(model.add(UpSampling2D((2,2),padding='same'))上出现以下错误

我使用的是Keras 2.2.4和Tensorflow 1.12.0

你知道为什么会这样吗

我的代码是:

# Fit regression DNN model 
print("Creating/Training CNN")
model = Sequential()
model.add( Conv2D(16, (3, 3), input_shape=(128,128,1), activation='relu', padding = 'same') )
model.add(MaxPooling2D((2, 2), padding='same'))
model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(MaxPooling2D((2, 2), padding='same'))
model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(MaxPooling2D((2, 2), padding='same', name = 'grab_that'))

model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(UpSampling2D((2, 2), padding='same'))
model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(UpSampling2D((2, 2), padding='same'))
model.add( Conv2D(16, (3, 3), activation='relu', padding='same') )
model.add(UpSampling2D((2, 2), padding='same'))
model.add( Conv2D(1, (3, 3), activation='sigmoid', padding='same') )
model.compile(optimizer='adadelta', loss='binary_crossentropy', metrics=[binary_accuracy])
history = model.fit(data_train,data_train,verbose=1,epochs=1)

这是因为
UpSampling2D
层没有这样的参数。只有卷积层才有它(请参阅)

# Fit regression DNN model 
print("Creating/Training CNN")
model = Sequential()
model.add( Conv2D(16, (3, 3), input_shape=(128,128,1), activation='relu', padding = 'same') )
model.add(MaxPooling2D((2, 2), padding='same'))
model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(MaxPooling2D((2, 2), padding='same'))
model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(MaxPooling2D((2, 2), padding='same', name = 'grab_that'))

model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(UpSampling2D((2, 2), padding='same'))
model.add( Conv2D(8, (3, 3), activation='relu', padding='same') )
model.add(UpSampling2D((2, 2), padding='same'))
model.add( Conv2D(16, (3, 3), activation='relu', padding='same') )
model.add(UpSampling2D((2, 2), padding='same'))
model.add( Conv2D(1, (3, 3), activation='sigmoid', padding='same') )
model.compile(optimizer='adadelta', loss='binary_crossentropy', metrics=[binary_accuracy])
history = model.fit(data_train,data_train,verbose=1,epochs=1)