Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support grid_sample and affine_grid operator #6038

Merged
merged 21 commits into from Aug 31, 2021

Conversation

tingkuanpei
Copy link
Contributor

@tingkuanpei tingkuanpei commented Aug 25, 2021

Support grid_sample and affine_grid operator
截屏2021-08-25 19 02 48
截屏2021-08-25 18 51 15
截屏2021-08-25 18 52 01

oneflow/core/autograd/gradient_funcs/affine_grid.cpp Outdated Show resolved Hide resolved
oneflow/core/autograd/gradient_funcs/affine_grid.cpp Outdated Show resolved Hide resolved
oneflow/core/autograd/gradient_funcs/grid_sample.cpp Outdated Show resolved Hide resolved
oneflow/core/autograd/gradient_funcs/grid_sample.cpp Outdated Show resolved Hide resolved
oneflow/core/autograd/gradient_funcs/grid_sample.cpp Outdated Show resolved Hide resolved
oneflow/core/autograd/gradient_funcs/grid_sample.cpp Outdated Show resolved Hide resolved
python/oneflow/test/modules/test_grid_sample.py Outdated Show resolved Hide resolved
python/oneflow/test/modules/test_grid_sample.py Outdated Show resolved Hide resolved
python/oneflow/test/modules/test_grid_sample.py Outdated Show resolved Hide resolved
python/oneflow/test/modules/test_grid_sample.py Outdated Show resolved Hide resolved
python/oneflow/test/modules/test_grid_sample.py Outdated Show resolved Hide resolved
oneflow/user/ops/grid_sample_op.cpp Show resolved Hide resolved
oneflow/user/ops/grid_sample_op.cpp Outdated Show resolved Hide resolved
oneflow/user/ops/grid_sample_op.cpp Outdated Show resolved Hide resolved
oneflow/user/ops/grid_sample_op.cpp Outdated Show resolved Hide resolved
oneflow/user/ops/grid_sample_op.cpp Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cpp Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cpp Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cu Outdated Show resolved Hide resolved
@tingkuanpei
Copy link
Contributor Author

@simonJJJ @BBuf @doombeaker 已经按照review的意见修改代码

@tingkuanpei
Copy link
Contributor Author

@doombeaker grid_sample 的cpu和gpu的重复代码已经合并了

oneflow/user/kernels/grid_sample_kernel.cpp Outdated Show resolved Hide resolved
oneflow/user/kernels/grid_sample_kernel.cpp Outdated Show resolved Hide resolved
oneflow/user/kernels/affine_grid_kernel.cpp Outdated Show resolved Hide resolved
oneflow/user/kernels/affine_grid_kernel.cpp Outdated Show resolved Hide resolved
@simonJJJ simonJJJ requested review from oneflow-ci-bot and removed request for oneflow-ci-bot August 30, 2021 08:06
@oneflow-ci-bot oneflow-ci-bot requested review from oneflow-ci-bot and removed request for oneflow-ci-bot August 30, 2021 09:52
@github-actions
Copy link
Contributor

Speed stats:
GPU Name: GeForce GTX 1080 

OneFlow resnet50 time: 127.7ms (= 6383.8ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 140.6ms (= 7031.4ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.10 (= 140.6ms / 127.7ms)

OneFlow resnet50 time: 74.3ms (= 3713.5ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 85.7ms (= 4283.1ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.15 (= 85.7ms / 74.3ms)

OneFlow resnet50 time: 47.8ms (= 2390.6ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 59.5ms (= 2975.9ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.24 (= 59.5ms / 47.8ms)

OneFlow resnet50 time: 40.5ms (= 2024.1ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 47.9ms (= 2394.1ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.18 (= 47.9ms / 40.5ms)

OneFlow resnet50 time: 37.1ms (= 1852.6ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 44.2ms (= 2210.9ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.19 (= 44.2ms / 37.1ms)

OneFlow resnet50 time: 147.3ms (= 7363.9ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 151.7ms (= 7585.0ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.03 (= 151.7ms / 147.3ms)

OneFlow resnet50 time: 93.5ms (= 4676.7ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 95.8ms (= 4790.9ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.02 (= 95.8ms / 93.5ms)

OneFlow resnet50 time: 64.3ms (= 3216.5ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 64.3ms (= 3215.9ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.00 (= 64.3ms / 64.3ms)

OneFlow resnet50 time: 57.9ms (= 2893.7ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 54.5ms (= 2727.2ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.94 (= 54.5ms / 57.9ms)

OneFlow resnet50 time: 53.0ms (= 2649.7ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 51.8ms (= 2590.2ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.98 (= 51.8ms / 53.0ms)

@github-actions
Copy link
Contributor

CI failed, removing label automerge

@oneflow-ci-bot oneflow-ci-bot removed their request for review August 30, 2021 11:09
@oneflow-ci-bot oneflow-ci-bot requested review from oneflow-ci-bot and removed request for oneflow-ci-bot August 30, 2021 13:59
@github-actions
Copy link
Contributor

Speed stats:
GPU Name: GeForce GTX 1080 

OneFlow resnet50 time: 128.0ms (= 6398.8ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 141.2ms (= 7062.5ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.10 (= 141.2ms / 128.0ms)

OneFlow resnet50 time: 74.5ms (= 3722.6ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 84.7ms (= 4233.8ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.14 (= 84.7ms / 74.5ms)

OneFlow resnet50 time: 47.9ms (= 2395.2ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 61.8ms (= 3091.5ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.29 (= 61.8ms / 47.9ms)

OneFlow resnet50 time: 43.4ms (= 2169.6ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 48.4ms (= 2421.4ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.12 (= 48.4ms / 43.4ms)

OneFlow resnet50 time: 44.4ms (= 2219.9ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 43.5ms (= 2174.4ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.98 (= 43.5ms / 44.4ms)

OneFlow resnet50 time: 145.7ms (= 7284.2ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 150.6ms (= 7531.0ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.03 (= 150.6ms / 145.7ms)

OneFlow resnet50 time: 94.7ms (= 4737.0ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 94.3ms (= 4714.5ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.00 (= 94.3ms / 94.7ms)

OneFlow resnet50 time: 70.1ms (= 3505.9ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 64.6ms (= 3229.1ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.92 (= 64.6ms / 70.1ms)

OneFlow resnet50 time: 57.5ms (= 2875.1ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 54.9ms (= 2743.0ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.95 (= 54.9ms / 57.5ms)

OneFlow resnet50 time: 58.6ms (= 2931.0ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 48.6ms (= 2430.2ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.83 (= 48.6ms / 58.6ms)

@github-actions
Copy link
Contributor

CI failed, removing label automerge

@oneflow-ci-bot oneflow-ci-bot removed their request for review August 30, 2021 16:35
@oneflow-ci-bot oneflow-ci-bot self-requested a review August 31, 2021 03:39
@github-actions
Copy link
Contributor

Speed stats:
GPU Name: GeForce GTX 1080 

OneFlow resnet50 time: 127.5ms (= 6373.8ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 141.9ms (= 7095.1ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.11 (= 141.9ms / 127.5ms)

OneFlow resnet50 time: 74.0ms (= 3701.7ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 83.4ms (= 4170.3ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.13 (= 83.4ms / 74.0ms)

OneFlow resnet50 time: 50.2ms (= 2510.0ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 58.7ms (= 2933.7ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.17 (= 58.7ms / 50.2ms)

OneFlow resnet50 time: 40.2ms (= 2010.6ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 47.5ms (= 2374.7ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.18 (= 47.5ms / 40.2ms)

OneFlow resnet50 time: 38.3ms (= 1917.1ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 42.0ms (= 2099.5ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.10 (= 42.0ms / 38.3ms)

OneFlow resnet50 time: 146.6ms (= 7330.8ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 152.3ms (= 7616.1ms / 50, input_shape=[16, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.04 (= 152.3ms / 146.6ms)

OneFlow resnet50 time: 92.7ms (= 4632.9ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 92.4ms (= 4621.5ms / 50, input_shape=[8, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.00 (= 92.4ms / 92.7ms)

OneFlow resnet50 time: 65.6ms (= 3279.2ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 66.4ms (= 3321.0ms / 50, input_shape=[4, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.01 (= 66.4ms / 65.6ms)

OneFlow resnet50 time: 53.8ms (= 2687.5ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 54.2ms (= 2709.9ms / 50, input_shape=[2, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 1.01 (= 54.2ms / 53.8ms)

OneFlow resnet50 time: 59.0ms (= 2948.5ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
OneFlow GPU used (rank 0): 0 MiB
PyTorch resnet50 time: 46.7ms (= 2335.4ms / 50, input_shape=[1, 3, 224, 224], backward is enabled)
PyTorch GPU used (rank 0, estimated): 0 MiB
Relative speed: 0.79 (= 46.7ms / 59.0ms)

@oneflow-ci-bot oneflow-ci-bot merged commit 36da9c1 into master Aug 31, 2021
@oneflow-ci-bot oneflow-ci-bot deleted the tkpei/support_grid_sample branch August 31, 2021 05:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants