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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

RuntimeError: Didn't find engine for operation quantized::conv_prepack NoQEngine #29327

Open
cygnus77 opened this issue Nov 6, 2019 · 1 comment

Comments

@cygnus77
Copy link

@cygnus77 cygnus77 commented Nov 6, 2019

馃悰 Bug

Running quantization tutorial on Windows 10 x64 errors out in torch.quantization.convert step with the following:
RuntimeError: Didn't find engine for operation quantized::conv_prepack NoQEngine

This issue is similar to 28945 but happens on Windows x64, on PyTorch installed via Conda.

To Reproduce

Steps to reproduce the behavior:

  1. Install PyTorch 1.3.0 from conda:
    conda install pytorch torchvision cpuonly -c pytorch

  2. Run code from quantization tutorial

Expected behavior

Tutorial should work

Environment

  • PyTorch Version: 1.3.0
  • OS: Windows 10 Pro
  • How you installed PyTorch (conda, pip, source): conda
  • Build command you used (if compiling from source):
  • Python version: 3.7
  • CUDA/cuDNN version: None
  • GPU models and configuration: None

info.txt

Additional context

  • Tutorial works fine on Mac, CentOS
  • Model torch.jit.save'd on Mac/Linux does not load on Windows. torch.jit.load throws the same NoQEngine error.

cc @peterjc123 @jerryzh168 @jianyuh @dzhulgakov @raghuramank100 @jamesr66a

@dzhulgakov

This comment has been minimized.

Copy link
Member

@dzhulgakov dzhulgakov commented Nov 12, 2019

cc @supriyar @dskhudia @jamesr66a

There are two libraries we're currently using for quantized operations: fbgemm and qnnpack. Fbgemm today doesn't support window build: pytorch/FBGEMM#150 . Would be nice if someone gave it a try.

For qnnpack - we disable it by default on non-mobile builds:

// Engines are listed in priority order: later one wins
// By default we prefer FBGEMM if we're running on server side
// QNNPACK on server side has some issue, so we disable it by default.

Afaik, the performance is not that great for qnnpack on x86 cpus and there were some other stability issues. @supriyar - do you know if it's better to reenable it?

As a temp workaround - try setting torch.backends.quantized.engine = 'qnnpack' to see whether it works. It's not an official workaround - just something to try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can鈥檛 perform that action at this time.