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

TypeError: 'Proxy' object cannot be interpreted as an integer #116

Open
MHGL opened this issue Jul 7, 2021 · 4 comments
Open

TypeError: 'Proxy' object cannot be interpreted as an integer #116

MHGL opened this issue Jul 7, 2021 · 4 comments

Comments

@MHGL
Copy link
Contributor

MHGL commented Jul 7, 2021

馃悰 Bug

I get an error

  • loop in forward and loop count num from input x
  • call torch.quantization.quantize_fx.prepare_fx

To Reproduce

Steps to reproduce the behavior:

  1. code example
import torch
from torch.quantization import get_default_qconfig
from torch.quantization.quantize_fx import prepare_fx

# init module
class MyModule(torch.nn.Module):
    def __init__(self):
        super(MyModule, self).__init__()
        ...

    def forward(self, x):
        for i in range(x.size(1)):
            x += 1
        return 

torch_model = MyModule().eval()

# fx
s_qconfig_dict = {'': get_default_qconfig("fbgemm")}
prepare_fx(torch_model, s_qconfig_dict)
  1. stack traces
Traceback (most recent call last):
  File "mini_code.py", line 22, in <module>
    prepare_fx(torch_model, s_qconfig_dict)
  File "/opt/conda/lib/python3.8/site-packages/torch/quantization/quantize_fx.py", line 392, in prepare_fx
    return _prepare_fx(model, qconfig_dict, prepare_custom_config_dict)
  File "/opt/conda/lib/python3.8/site-packages/torch/quantization/quantize_fx.py", line 174, in _prepare_fx
    graph_module = GraphModule(model, tracer.trace(model))
  File "/opt/conda/lib/python3.8/site-packages/torch/fx/symbolic_trace.py", line 571, in trace
    self.create_node('output', 'output', (self.create_arg(fn(*args)),), {},
  File "mini_code.py", line 14, in forward
    for i in range(x.size(1)):
TypeError: 'Proxy' object cannot be interpreted as an integer

Expected behavior

Environment

  • PyTorch Version: 1.9.0
  • OS (e.g., MacOS, Linux): Ubuntu20.04 LTS
  • How you install python (anaconda, virtualenv, system): miniconda
  • python version (e.g. 3.7): 3.8.5
  • any other relevant information:
    • gpu: GeForce GTX 1650
    • driver: Driver Version: 460.80
    • CUDA: CUDA Version: 11.2
@xiaopengaia
Copy link

How to solve it? I also met it ..... Thanks!

@xiaopengaia
Copy link

I get it, Thank you!

@PHaiJun
Copy link

PHaiJun commented Mar 29, 2022

I got a same error, how to solve it?

@frothmoon
Copy link

@xiaopengaia How to solve it? I also met it ..... Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants