optimization batch_norm 2D and NCHW format on CPU#34585
Merged
Xreki merged 5 commits intoPaddlePaddle:developfrom Aug 9, 2021
Merged
optimization batch_norm 2D and NCHW format on CPU#34585Xreki merged 5 commits intoPaddlePaddle:developfrom
Xreki merged 5 commits intoPaddlePaddle:developfrom
Conversation
|
Thanks for your contribution! |
Contributor
|
LGTM |
Xreki
approved these changes
Aug 9, 2021
|
|
||
| // input dimension is 2 and the format is NCHW. The input can be regarded | ||
| // as NHWC format | ||
| if (x_dims.size() == 2 && data_layout == DataLayout::kNCHW) { |
Contributor
There was a problem hiding this comment.
判断条件其实可以简化下,是不是if (sample_size == 1)就可以了?以及代码书写也可以简化下:const DataLayout data_layout = sample_size == 1 ? DataLayout::kNHWC : framework::StringToDataLayout(data_layout_str);
Contributor
Author
There was a problem hiding this comment.
经过验证,在sample_size为1时,在代码"const int C = (data_layout == DataLayout::kNCHW ? x_dims[1]: x_dims[x_dims.size() - 1]);" 执行完成后获取到C的值,再使用sample_size==1判断修改layout是可以的。根据建议修改
Contributor
Author
There was a problem hiding this comment.
但是对于简化的写法应该是不可行的,因为如果这里直接修改data_layout的话,后续会通过这个data_layout来计算C的值,如果输入为[10,10,1,1],输入格式为"NCHW",sample_size==1,满足条件,这时输入格式改为"NHWC",后续计算C会等于1,而实际上C=10.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR types
Performance optimization
PR changes
OPs
Describe
Optimization batch_norm two-dimensional shape and the format is NCHW

The performance test data of OMP==1 is as follows: