TensorFlow官方性能指南指出:
CNN使用的大多数TensorFlow操作都支持NHWC和NCHW数据格式。在GPU上,NCHW更快。但是在CPU上,NHWC有时更快。
与TensorFlow / cuDNN中的NHWC相比,NCHW的卷积速度要快多少?是否有任何参考或基准?
另外,为什么速度更快?据我了解(请参阅此处),用于GPU上的NHWC的TensorFlow将始终在内部转置为NCHW,然后为NCHW调用cuDNN conv内核,然后将其转回。但是为什么要这样做呢?cuDNN转换内核也适用于NHWC。也许他们在某个时候进行了比较,并且NHWC的cuDNN conv内核非常慢。但这是最新的吗?差异有多大?NHWC这么慢的技术原因是什么?还是针对这种情况的cuDNN内核没有得到很好的优化?