Git Product home page Git Product logo

Comments (5)

zou3519 avatar zou3519 commented on June 27, 2024 1

I debugged this some more:

  • Python's warnings.warn has a cache (globals()['__warningregistry__']). It will only warn once as long as the warning was in the cache.
  • The cache can be invalidated (you can see this in print(globals()['__warningregistry__']): the cache has a version number). It can be invalidated if any new filters are added, or if someone calls warnings.catch_warnings()
  • Dynamo adds a new filter here and FakeTensor calls catch_warnings() here. These are for "hiding warnings"

Taking a step back: what should the behavior of the above script actually be? Should we expect torch.compile'd code to reproduce warnings faithfully, or is it fine if there are a lot more warnings than expected?

IMO we should reproduce the warnings faithfully (warning spam is bad UX), but this means that we need to "hide warnings" in a different way.

from pytorch.

zou3519 avatar zou3519 commented on June 27, 2024 1

warnings.filterwarnings(
"ignore", category=UserWarning, module="torch.distributed"
)

This one is kind of funny -- if you use Dynamo, then we will never show you distributed warnings again, even in eager-mode :P

from pytorch.

anijain2305 avatar anijain2305 commented on June 27, 2024

I think we should reproduce the warnings faithfully. Pages and pages of spam could lead to bad UX.

from pytorch.

anijain2305 avatar anijain2305 commented on June 27, 2024

Haha ... I might have added that long time ago when I had lil understanding of what's really going on. We can remove these, some of the dynamo wrapped tests might fail.

from pytorch.

ezyang avatar ezyang commented on June 27, 2024

I'm attracted to beefed up warning handler context manager that restores the cache when done

from pytorch.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.