cddb07a176
docs / deploy (push) Has been cancelled
docs / changes (push) Has been cancelled
docs / check-and-build (push) Has been cancelled
build container image / cpu (push) Has been cancelled
build container image / cuda (push) Has been cancelled
build container image / rocm (push) Has been cancelled
frontend checks / frontend-checks (push) Has been cancelled
frontend tests / frontend-tests (push) Has been cancelled
lfs checks / lfs-check (push) Has been cancelled
python checks / python-checks (push) Has been cancelled
python tests / py3.12: macos-default (push) Has been cancelled
python tests / py3.11: windows-cpu (push) Has been cancelled
python tests / py3.12: windows-cpu (push) Has been cancelled
python tests / py3.11: linux-cpu (push) Has been cancelled
typegen checks / typegen-checks (push) Has been cancelled
uv lock checks / uv-lock-checks (push) Has been cancelled
openapi checks / openapi-checks (push) Has been cancelled
python tests / py3.11: macos-default (push) Has been cancelled
python tests / py3.12: linux-cpu (push) Has been cancelled
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import warnings
|
|
from contextlib import ContextDecorator
|
|
|
|
from diffusers.utils import logging as diffusers_logging
|
|
from transformers import logging as transformers_logging
|
|
|
|
|
|
# Inherit from ContextDecorator to allow using SilenceWarnings as both a context manager and a decorator.
|
|
class SilenceWarnings(ContextDecorator):
|
|
"""A context manager that disables warnings from transformers & diffusers modules while active.
|
|
|
|
As context manager:
|
|
```
|
|
with SilenceWarnings():
|
|
# do something
|
|
```
|
|
|
|
As decorator:
|
|
```
|
|
@SilenceWarnings()
|
|
def some_function():
|
|
# do something
|
|
```
|
|
"""
|
|
|
|
def __enter__(self) -> None:
|
|
self._transformers_verbosity = transformers_logging.get_verbosity()
|
|
self._diffusers_verbosity = diffusers_logging.get_verbosity()
|
|
transformers_logging.set_verbosity_error()
|
|
diffusers_logging.set_verbosity_error()
|
|
warnings.simplefilter("ignore")
|
|
|
|
def __exit__(self, *args) -> None:
|
|
transformers_logging.set_verbosity(self._transformers_verbosity)
|
|
diffusers_logging.set_verbosity(self._diffusers_verbosity)
|
|
warnings.simplefilter("default")
|