🐛 [Bug] Cannot compile SwinIR model (shape_analysis.cpp: Expected ivalues_maps.count(input) to be true but got false)
Open
@bowang007 is already working on this.
Since Feb 22, 2023.
bug
component: partitioning
story: Dynamo Frontend & Partitioning
- Dominant language
- Python
- Stars
- 3k
- Forks
- 410
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 78
Description
Bug Description
Cannot compile the SwinIR model.
Error message:
Traceback (most recent call last):
File "main.py", line 61, in <module>
compile_tensorrt_model(torch.float)
File "main.py", line 56, in compile_tensorrt_model
compiled_model = torch_tensorrt.compile(traced_model, inputs=inputs, enabled_precisions=enabled_precisions,
File "/usr/local/lib/python3.8/dist-packages/torch_tensorrt/_compile.py", line 125, in compile
return torch_tensorrt.ts.compile(
File "/usr/local/lib/python3.8/dist-packages/torch_tensorrt/ts/_compiler.py", line 136, in compile
compiled_cpp_mod = _C.compile_graph(module._c, _parse_compile_spec(spec))
RuntimeError: [Error thrown at core/partitioning/shape_analysis.cpp:167] Expected ivalues_maps.count(input) to be true but got false
Could not find torch::jit::Value* 71852 produced from %71852 : Tensor = aten::add(%71851, %71850, %71848) in lowering graph for mini graph input.
To Reproduce
The original code is not properly typed, so I modified it a bit. Repo: https://github.com/arition/SwinIR-TensorRT
What I changed compared to original code:
- Add proper typing
- Disable
use_checkpoint - Disable other variants except
real-world SR - Replace modulo operator to custom function according to https://github.com/pytorch/TensorRT/issues/1305
To reproduce, just download pretrained weight (link in code) and run main.py.
Expected behavior
The model compiles without problems.
Environment
I use PyTorch container 23.01-py3 on NGC: https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch
- CPU Architecture: x64
- OS (e.g., Linux): Linux
- GPU models and configuration: RTX 4090
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.