Получение этой ошибки InvalidArgumentError: По умолчанию MaxPoolingOp поддерживает только NHW C на устройстве типа CPU [[node sequential_5 / max_pooling2d_5 / MaxPool - PullRequest
1 голос
/ 14 февраля 2020

Я получаю эту ошибку, когда запускаю приведенный ниже код после сборки CNN

model.fit(X_train, y_train, epochs=27)


InvalidArgumentError:  Default MaxPoolingOp only supports NHWC on device type CPU
     [[node sequential_5/max_pooling2d_5/MaxPool (defined at <ipython-input-142-acc519fcce62>:1) ]] [Op:__inference_distributed_function_2871]

Мой input_shape в настоящее время имеет

(1, 100, 100)

И мой CNN следующий

model = Sequential()

model.add(Convolution2D(32, 3,3,padding='same', input_shape= input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2),padding='same' ))
model.add(Dropout(0.5))

model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2), padding='same' ))

model.add(Dropout(0.5)) 
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(numclasses))
model.add(Activation('softmax'))

Я использовал K.image_data_format (), чтобы определить каналы для измерения

numchannels = 1

if numchannels == 1:
    if K.image_data_format() == 'channels_first':
        Img_data = np.expand_dims(Img_data, axis=1)
        print(Img_data.shape)
    else:
        Img_data = np.expand_dims(Img_data, axis = 4)
        print (Img_data.shape)

else: 
    if K.image_data_format() == 'channels_first':
        Img_data=np.rollaxis(Img_data,3,1)
        print (Img_data.shape) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...