-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[TOPI] Conv2d Schedule for Intel HD Graphics Target fails and produces wrong output #1420
Comments
Thanks @Laurawly for answering, is it possible for us to move this to http://discuss.tvm.ai/ and when we have actionable items, open issues to resolve this. Thanks! |
@Laurawly Yes you are correct ,i was using opt_level=3 . I have a test script to test here . If i set target='opencl' the prediction is correct .But if target is set to tvm.target.intel_graphics() ,the prediction is wrong . @tqchen this issue is w.r.t existing implementation . should we move to the forum ? Thanks |
@rajh619 What's your hardware specification? I tested both the performance and accuracy on Intel HD graphics 500 and there's no problem on that hardware. |
@rajh619 the community will always trying to solve the problem together, be it on forum or issue ;) The forum is preferred because issues are for actionable items we aggressively close issues and expect issues to be active actionable items that can get closed in an expected time span (so we won't have pile of issues that get missed). |
@Laurawly my hardware specs are : iGPU -Intel HD 4600 and CPU is - intel core i5 (4590s) ,8GB . Using opt_lvl=2 , the accuracy changes . you can load the model and check the change in accuracy with this script : |
@Laurawly I have an update : |
@rajh619 Glad to hear that you find the problem. Yeah I agree that the intel_graphics target's schedulers are more suitable for intel integrated graphics cards while when you use independent intel graphics, the original cuda scheduler can do the job better. We'll do more coverage on both the operators and networks. @tqchen Maybe we are good on closing the issue. |
Thanks for all the discussions, this issue is closed, let us move further discussions to the forum |
nnvm.compiler.build() fails for intel_graphics target.
sample model https://s3.amazonaws.com/download.onnx/models/opset_3/resnet50.tar.gz
error log
call stack hits from here :
https://github.com/dmlc/tvm/blob/fd1a572058aef5a07e1e1032e26e67fe1906f9b2/nnvm/python/nnvm/top/nn.py#L169-L170
https://github.com/dmlc/tvm/blob/fd1a572058aef5a07e1e1032e26e67fe1906f9b2/nnvm/python/nnvm/top/nn.py#L192-L193
and further calls intel_graphics schedules below .
But conv2d implementation for Intel graphics missed " layout," & " out_layout," function parameters.as shown below :
https://github.com/dmlc/tvm/blob/fd1a572058aef5a07e1e1032e26e67fe1906f9b2/topi/python/topi/intel_graphics/conv2d.py#L60
https://github.com/dmlc/tvm/blob/fd1a572058aef5a07e1e1032e26e67fe1906f9b2/topi/python/topi/intel_graphics/conv2d.py#L99
On solving this error by passing default prarmeters as 'layout =None" & " out_layout=None" , It compiled successfully .
But now the prediction output results[inference] turned to be wrong with tvm.target.intel_graphics() !
[ I tested in default mode ie. target='opencl' the prediction result is good ] .
why the Inference output changes when using tvm.target.intel_graphics() ?
The text was updated successfully, but these errors were encountered: