Skip to content

ERROR with ReLU, inplace_unfold cause the bad shape. #73

@charnameRed

Description

@charnameRed

Describe the bug
I tried to use auto_LiRPA to verify the robustness of my audio processing model. Unfortunately, when I use model.compute_bounds, a RuntimeError: The following operation failed in the TorchScript interpreter. occurred.

The situation directly caused by the unfitted shape of A_pos([64, 4, 25, 20, 64, 9, 9]) and d_pos([1, 4, 24, 19, 64, 9, 9]) in A_new = d_pos * A_pos + d_neg * A_neg, which happens during clamp_mutiply_forward operation. I tried to trace back the cause of this difference, and find something happened in the inplace_unfold step of maybe_unfold_patches, in the relu.py.

Here follows my code. I make a emulation dataset to provide random data with the same attributes of real data, which are Mel Spectrograms of some audio, to avoid unnecessary uploadings. And I used an adjusted Resnet18 to extract the features, to make it work correctly on [B, 1, 100, 80] shaped data.

To Reproduce

Test Code
Adjusted Resnet

System configuration:

  • OS: Ubuntu 22.04
  • Python version: Python 3.10
  • Pytorch Version: Pytorch 2.2
  • Hardware: RTX 4090
  • Have you tried to reproduce the problem in a cleanly created conda/virtualenv environment using official installation instructions and the latest code on the main branch?: Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions