我正在尝试使用NCHW,即在我的CPU中使用通道优先数据格式。作为Resnet18的一部分,它是一个maxpool层。
MaxPooling2D(pool_size=[3, 3], strides=2, padding='same', data_format='channels_first')
我得到的错误是:
InvalidArgumentError (see above for traceback): Default MaxPoolingOp only supports NHWC on device type CPU
[[Node: max_pooling2d_3/MaxPool = MaxPool[T=DT_FLOAT, data_format="NCHW", ksize=[1, 1, 3, 3], padding="SAME", strides=[1, 1, 2, 2], _device="/job:localhost/replica:0/task:0/device:CPU:0"](batch_normalization_51/cond/Merge)]]
是否可以解决此问题?我也尝试过data_format="NCHW"
,但它给出了相同的错误。
答案 0 :(得分:0)
能否请您尝试使用简单的模型来调试问题?这可以在装有CPU的系统上使用。
model = Sequential()
model.add(MaxPooling2D(pool_size=[3, 3], strides=2, padding='same',
data_format='channels_first', input_shape=(3,224,224)))
model.summary()
X = np.random.randn(1,3,224,224)
Y = model.predict(X)
print(Y.shape)
(1, 3, 112, 112)
答案 1 :(得分:0)
pip install intel-tensorflow
解决了问题,但训练似乎比以前慢了。