Я получаю эту ошибку, когда запускаю приведенный ниже код после сборки 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)