是否可以在CPU上使用NCHW格式?

时间:2019-03-15 05:08:57

标签: python-3.x tensorflow keras

我正在尝试使用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",但它给出了相同的错误。

2 个答案:

答案 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

解决了问题,但训练似乎比以前慢了。