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

Conv3D ONNX support and conv3D_ncdhw x86 schedules #4949

Merged
merged 3 commits into from
Mar 11, 2020

Conversation

mbrookhart
Copy link
Contributor

@mbrookhart mbrookhart commented Feb 26, 2020

This PR adds support for conv3d to the ONNX frontend and ports the x86 conv2d_nchw schedules to conv3d_ncdhw for improved performance.

Thanks!

cc: @jwfromm @kevinthesun

@mbrookhart mbrookhart changed the title Conv3D_ncdhw and onnx support Conv3D ONNX supprot and conv3D_ncdhw x86 schedules Feb 26, 2020
@tqchen
Copy link
Member

tqchen commented Feb 26, 2020

also cc @yzhliu @icemelon9 @anijain2305 @masahi

Copy link
Member

@icemelon icemelon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you also update the topi test test_topi_conv3d_ncdhw.py to include x86 schedules?

topi/python/topi/x86/conv3d.py Outdated Show resolved Hide resolved
topi/python/topi/x86/conv3d.py Show resolved Hide resolved
Copy link
Contributor

@anijain2305 anijain2305 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Minor changes.

python/tvm/relay/frontend/onnx.py Outdated Show resolved Hide resolved
topi/python/topi/x86/conv3d.py Outdated Show resolved Hide resolved
topi/python/topi/x86/conv3d.py Show resolved Hide resolved
@anijain2305
Copy link
Contributor

@alexgl-github You might be interested in this.

@mbrookhart
Copy link
Contributor Author

Thanks, @anijain2305 and @icemelon9! I missed the change in testing strategy when I rebased ontop of @icemelon9 's recent refactor, should be good now.

@mbrookhart mbrookhart changed the title Conv3D ONNX supprot and conv3D_ncdhw x86 schedules Conv3D ONNX support and conv3D_ncdhw x86 schedules Feb 27, 2020
Copy link
Member

@icemelon icemelon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor

topi/python/topi/x86/conv3d.py Show resolved Hide resolved
@icemelon
Copy link
Member

Could you rebase to latest master to fix the doc error? @mbrookhart

@mbrookhart mbrookhart force-pushed the mbrookhart/conv3d branch 3 times, most recently from 4a7012e to dd9ba56 Compare February 28, 2020 22:37
Matthew Brookhart added 3 commits March 3, 2020 14:40
add default schedule for conv3d_ncdhw

fill in autotvm integration

add a fallback for invalid schedules

fix fallback

fix reduction order to get simd working correctly
respond to PR formatting requests

add x86 schedules to conv3d ncdhw test

fix a doc string format issue

refactor for changed upsream API
@tqchen
Copy link
Member

tqchen commented Mar 5, 2020

@icemelon9 please followup

@masahi
Copy link
Member

masahi commented Mar 10, 2020

hi, I'd like to use this schedule in my next Torch frontend PR (loading resnet 3D from torchvision). Can you merge this? @icemelon9 @anijain2305

@tqchen tqchen merged commit d56829e into apache:master Mar 11, 2020
@tqchen
Copy link
Member

tqchen commented Mar 11, 2020

Thanks @mbrookhart @icemelon9 @anijain2305

@mbrookhart mbrookhart deleted the mbrookhart/conv3d branch March 11, 2020 16:12
@mbrookhart mbrookhart restored the mbrookhart/conv3d branch March 11, 2020 16:13
@mbrookhart mbrookhart deleted the mbrookhart/conv3d branch March 11, 2020 18:07
trevor-m pushed a commit to trevor-m/tvm that referenced this pull request Apr 16, 2020
* Support 3d Convolution with the ONNX frontend

* add unit tests for conv3d in onnx frontend

respond to PR formatting requests

add x86 schedules to conv3d ncdhw test

fix a doc string format issue

refactor for changed upsream API

* first attempt at conv3d autotuning

add default schedule for conv3d_ncdhw

fill in autotvm integration

add a fallback for invalid schedules

fix fallback

fix reduction order to get simd working correctly
zhiics pushed a commit to neo-ai/tvm that referenced this pull request Apr 17, 2020
* Support 3d Convolution with the ONNX frontend

* add unit tests for conv3d in onnx frontend

respond to PR formatting requests

add x86 schedules to conv3d ncdhw test

fix a doc string format issue

refactor for changed upsream API

* first attempt at conv3d autotuning

add default schedule for conv3d_ncdhw

fill in autotvm integration

add a fallback for invalid schedules

fix fallback

fix reduction order to get simd working correctly
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.

5 participants