【问题标题】:is it possible to use NCHW format on CPU?是否可以在 CPU 上使用 NCHW 格式?
【发布时间】:2019-03-15 05:08:56
【问题描述】:

我正在尝试在我的 cpu 中使用 NCHW 即通道优先数据格式。它是作为 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",但它给出了同样的错误。

【问题讨论】:

    标签: python-3.x tensorflow keras


    【解决方案1】:

    您能否尝试使用一个简单的模型来调试问题?这适用于我的 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)
    

    【讨论】:

    • 在英特尔 mkl 上编译 tensorflow 时,它停止给出该错误,谢谢。
    • @newlearnershiv 请考虑发布一个简短的答案,以便该线程将来对其他人有用 - 否则最好删除问题
    • 从@newlearnershiv 的评论中,我发现了这个有用的链接software.intel.com/content/www/us/en/develop/articles/…(总之,pip install intel-tensorflow 和 pip卸载张量流)
    【解决方案2】:
    pip install intel-tensorflow
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 1970-01-01
      • 2010-10-09
      • 2011-05-05
      • 1970-01-01
      • 2012-02-10
      • 2011-01-31
      相关资源
      最近更新 更多