Skip to content

Commit 41583d2

Browse files
authored
Change Deprecation Warnings to Warnings for specifying ProgressBarLogger and ConsoleLogger to loggers (#1846)
changes DeprecationWarning -> Warning for adding ProgressBarLogger and ConsoleLogger to loggers
1 parent b0365c8 commit 41583d2

File tree

5 files changed

+29
-17
lines changed

5 files changed

+29
-17
lines changed

composer/trainer/trainer.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,23 +1094,23 @@ def __init__(
10941094

10951095
if any(isinstance(x, ProgressBarLogger) for x in loggers):
10961096
warnings.warn(
1097-
DeprecationWarning(
1098-
(f'Specifying the {ProgressBarLogger.__name__} via `loggers` is deprecated. Instead, '
1099-
'please specify `progress_bar`, `console_stream` and `log_traces` arguments when '
1100-
'constructing the trainer. If specified, these arguments will be ignored, as the '
1101-
f'{ProgressBarLogger.__name__} was already created.')))
1097+
Warning((
1098+
f'Specifying the {ProgressBarLogger.__name__} via `loggers` is not recommended as '
1099+
'any values set for the following Trainer arguments will be ignored: `progress_bar`, `console_stream`, or `log_traces`. '
1100+
'The recommended way of enabling a progress bar is to set `progress_bar` to True instead of '
1101+
f'constructing a {ProgressBarLogger.__name__} instance.')))
11021102
else:
11031103
if progress_bar:
11041104
loggers.append(ProgressBarLogger(stream=console_stream, log_traces=log_traces))
11051105

11061106
# Console Logging
11071107
if any(isinstance(x, ConsoleLogger) for x in loggers):
11081108
warnings.warn(
1109-
DeprecationWarning((
1110-
f'Specifying the {ConsoleLogger.__name__} via `loggers` is deprecated. Instead, '
1111-
'please specify `log_to_console`, `console_stream`, `console_log_interval`, and `log_traces` arguments when '
1112-
'constructing the trainer. If specified, these arguments will be ignored, as the '
1113-
f'{ConsoleLogger.__name__} was already created.')))
1109+
Warning((
1110+
f'Specifying the {ConsoleLogger.__name__} via `loggers` is not recommended as '
1111+
'any values set for the following Trainer arguments will be ignored: `log_to_console`, `console_stream`, `log_traces`, and `console_log_interval`. '
1112+
'The recommended way of enabling a console logging is to set `log_to_console` to True instead of '
1113+
f'constructing a {ConsoleLogger.__name__} instance.')))
11141114
else:
11151115
if log_to_console:
11161116
loggers.append(

tests/callbacks/test_callbacks.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from composer.core import Callback, Engine, Event, State
1010
from composer.core.time import Time
11-
from composer.loggers import Logger, LoggerDestination
11+
from composer.loggers import ConsoleLogger, Logger, LoggerDestination, ProgressBarLogger
1212
from composer.profiler import Profiler, ProfilerAction
1313
from composer.trainer import Trainer
1414
from tests.callbacks.callback_settings import get_cb_kwargs, get_cbs_and_marks
@@ -131,6 +131,8 @@ def _get_trainer(self, cb: Callback, grad_accum: int):
131131
)
132132

133133
def test_trains(self, cb_cls: Type[Callback], grad_accum: int, _remote: bool):
134+
if cb_cls in [ProgressBarLogger, ConsoleLogger]:
135+
pytest.skip()
134136
del _remote # unused. `_remote` must be passed through to parameterize the test markers.
135137
cb_kwargs = get_cb_kwargs(cb_cls)
136138
cb = cb_cls(**cb_kwargs)
@@ -143,6 +145,8 @@ def test_trains_multiple_calls(self, cb_cls: Type[Callback], grad_accum: int, _r
143145
Note: future functional tests should test for
144146
idempotency (e.g functionally)
145147
"""
148+
if cb_cls in [ProgressBarLogger, ConsoleLogger]:
149+
pytest.skip()
146150
del _remote # unused. `_remote` must be passed through to parameterize the test markers.
147151
cb_kwargs = get_cb_kwargs(cb_cls)
148152
cb = cb_cls(**cb_kwargs)

tests/callbacks/test_loggers_across_callbacks.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from torch.utils.data import DataLoader
99

1010
from composer.core import Callback
11-
from composer.loggers import LoggerDestination
11+
from composer.loggers import ConsoleLogger, LoggerDestination, ProgressBarLogger
1212
from composer.loggers.remote_uploader_downloader import RemoteUploaderDownloader
1313
from composer.trainer import Trainer
1414
from tests.callbacks.callback_settings import get_cb_kwargs, get_cbs_and_marks
@@ -18,6 +18,8 @@
1818
@pytest.mark.parametrize('logger_cls', get_cbs_and_marks(loggers=True))
1919
@pytest.mark.parametrize('callback_cls', get_cbs_and_marks(callbacks=True))
2020
def test_loggers_on_callbacks(logger_cls: Type[LoggerDestination], callback_cls: Type[Callback]):
21+
if logger_cls in [ProgressBarLogger, ConsoleLogger]:
22+
pytest.skip()
2123
logger_kwargs = get_cb_kwargs(logger_cls)
2224
if issubclass(logger_cls, RemoteUploaderDownloader):
2325
# Ensure that the remote directory does not conflict with any directory used by callbacks

tests/loggers/test_console_logger.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
from composer.callbacks import SpeedMonitor
1313
from composer.core import Evaluator
14+
from composer.loggers import ConsoleLogger
1415
from composer.loggers.console_logger import NUM_EVAL_LOGGING_EVENTS
1516
from composer.trainer import Trainer
1617
from tests.common import RandomClassificationDataset, SimpleModel
@@ -163,11 +164,10 @@ def test_console_logger_interval_with_eval(console_logger_test_stream, console_l
163164

164165
def test_log_to_console_and_progress_bar_warning():
165166
with pytest.warns(Warning):
166-
Trainer(model=SimpleModel(),
167-
log_to_console=True,
168-
progress_bar=True,
169-
train_dataloader=DataLoader(RandomClassificationDataset()),
170-
max_duration=f'2ep')
167+
Trainer(model=SimpleModel(), log_to_console=True, progress_bar=True)
168+
169+
with pytest.warns(Warning):
170+
Trainer(model=SimpleModel(), loggers=ConsoleLogger())
171171

172172

173173
@pytest.mark.parametrize('log_interval_unit', ['ba', 'ep'])

tests/loggers/test_progress_bar_logger.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from tqdm import auto
1010

1111
from composer.core.time import Time, TimeUnit
12+
from composer.loggers import ProgressBarLogger
1213
from composer.trainer.trainer import Trainer
1314
from composer.utils import dist
1415
from tests.common import RandomClassificationDataset, SimpleModel
@@ -96,3 +97,8 @@ def get_mock_tqdm(bar_format: str, *args: object, **kwargs: object):
9697
# test eval pbar
9798
for mt in mock_tqdms_eval:
9899
assert mt.update.call_count == eval_subset_num_batches
100+
101+
102+
def test_progress_bar_warning():
103+
with pytest.warns(Warning):
104+
Trainer(model=SimpleModel(), loggers=ProgressBarLogger())

0 commit comments

Comments
 (0)