2
我用Keras實現了以下模型。在下面,我使用Tensorflow。MaxPool上的負尺寸大小
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers import Activation, Dropout, Flatten, Dense
model = Sequential()
model.add(Conv2D(32, (2, 2), input_shape=(3, 150, 150), padding='SAME'))
model.add(Activation('relu'))
# model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(MaxPooling2D(pool_size=(2, 2), data_format="channels_last"))
model.add(Conv2D(32, (2, 2), padding='SAME'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (2, 2), padding='SAME'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
不過,我得到這個異常:
tensorflow.python.framework.errors_impl.InvalidArgumentError: Negative dimension size caused by subtracting 2 from 1 for 'max_pooling2d_2/MaxPool' (op: 'MaxPool') with input shapes: [?,1,75,32].
我使用SAME
填充,和2*2
卷積,所以輸出應該是2*2
,我應該能夠在其上運行MaxPooling。
我只是不明白如何輸入可以達到形狀[?,1,75,32]
。
我改變了'channels_last'到'channels_first'但我仍然得到同樣的錯誤。 – octavian
你在哪裏改變它?在配置文件中?你是否從maxpooling中移除了參數? – lhk
哦,我忘記了改變MaxPool的參數。 – octavian