Skip to content

Commit dc39e4d

Browse files
docs: add usage examples for logging setup functions in respective lo… (#3734)
This pull request improves the documentation for all supported experiment logger classes and their setup utility functions in the Ignite library. It adds clear, practical usage examples and highlights the existence of simplified setup functions, making it easier for users to quickly configure logging in their training workflows.
1 parent 426976d commit dc39e4d

8 files changed

Lines changed: 198 additions & 0 deletions

File tree

ignite/handlers/clearml_logger.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,19 @@ class ClearMLLogger(BaseLogger):
110110
log_handler=WeightsScalarHandler(model)
111111
)
112112
113+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_clearml_logging` for simplified setup:
114+
115+
.. code-block:: python
116+
117+
from ignite.handlers.logger_utils import setup_clearml_logging
118+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
119+
clearml_logger = setup_clearml_logging(
120+
trainer=trainer,
121+
optimizers=optimizer,
122+
evaluators={"validation": evaluator},
123+
log_every_iters=100
124+
)
125+
113126
Note:
114127
:class:`~ignite.handlers.clearml_logger.OutputHandler` can handle
115128
metrics, state attributes and engine output values of the following format:

ignite/handlers/logger_utils.py

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,22 @@ def setup_tb_logging(
102102
103103
Returns:
104104
:class:`~ignite.handlers.tensorboard_logger.TensorboardLogger`
105+
106+
Examples:
107+
.. code-block:: python
108+
109+
from ignite.handlers.logger_utils import setup_tb_logging
110+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
111+
tb_logger = setup_tb_logging(
112+
output_path="experiments/tb_logs",
113+
trainer=trainer,
114+
optimizers=optimizer,
115+
evaluators={"validation": evaluator},
116+
log_every_iters=100
117+
)
118+
119+
# Logger instance can be closed
120+
tb_logger.close()
105121
"""
106122
logger = TensorboardLogger(log_dir=output_path, **kwargs)
107123
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)
@@ -138,6 +154,21 @@ def setup_visdom_logging(
138154
139155
Returns:
140156
:class:`~ignite.handlers.visdom_logger.VisdomLogger`
157+
158+
Examples:
159+
.. code-block:: python
160+
161+
from ignite.handlers.logger_utils import setup_visdom_logging
162+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
163+
vd_logger = setup_visdom_logging(
164+
trainer=trainer,
165+
optimizers=optimizer,
166+
evaluators={"validation": evaluator},
167+
log_every_iters=100
168+
)
169+
170+
# Logger instance can be closed
171+
vd_logger.close()
141172
"""
142173
logger = VisdomLogger(**kwargs)
143174
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)
@@ -169,6 +200,21 @@ def setup_mlflow_logging(
169200
170201
Returns:
171202
:class:`~ignite.handlers.mlflow_logger.MLflowLogger`
203+
204+
Examples:
205+
.. code-block:: python
206+
207+
from ignite.handlers.logger_utils import setup_mlflow_logging
208+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
209+
mlflow_logger = setup_mlflow_logging(
210+
trainer=trainer,
211+
optimizers=optimizer,
212+
evaluators={"validation": evaluator},
213+
log_every_iters=100
214+
)
215+
216+
# Logger instance can be closed
217+
mlflow_logger.close()
172218
"""
173219
logger = MLflowLogger(**kwargs)
174220
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)
@@ -200,6 +246,21 @@ def setup_neptune_logging(
200246
201247
Returns:
202248
:class:`~ignite.handlers.neptune_logger.NeptuneLogger`
249+
250+
Examples:
251+
.. code-block:: python
252+
253+
from ignite.handlers.logger_utils import setup_neptune_logging
254+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
255+
neptune_logger = setup_neptune_logging(
256+
trainer=trainer,
257+
optimizers=optimizer,
258+
evaluators={"validation": evaluator},
259+
log_every_iters=100
260+
)
261+
262+
# Logger instance can be closed
263+
neptune_logger.close()
203264
"""
204265
logger = NeptuneLogger(**kwargs)
205266
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)
@@ -231,6 +292,21 @@ def setup_wandb_logging(
231292
232293
Returns:
233294
:class:`~ignite.handlers.wandb_logger.WandBLogger`
295+
296+
Examples:
297+
.. code-block:: python
298+
299+
from ignite.handlers.logger_utils import setup_wandb_logging
300+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
301+
wandb_logger = setup_wandb_logging(
302+
trainer=trainer,
303+
optimizers=optimizer,
304+
evaluators={"validation": evaluator},
305+
log_every_iters=100
306+
)
307+
308+
# Logger instance can be closed
309+
wandb_logger.close()
234310
"""
235311
logger = WandBLogger(**kwargs)
236312
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)
@@ -262,6 +338,21 @@ def setup_plx_logging(
262338
263339
Returns:
264340
:class:`~ignite.handlers.polyaxon_logger.PolyaxonLogger`
341+
342+
Examples:
343+
.. code-block:: python
344+
345+
from ignite.handlers.logger_utils import setup_plx_logging
346+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
347+
plx_logger = setup_plx_logging(
348+
trainer=trainer,
349+
optimizers=optimizer,
350+
evaluators={"validation": evaluator},
351+
log_every_iters=100
352+
)
353+
354+
# Logger instance can be closed
355+
plx_logger.close()
265356
"""
266357
logger = PolyaxonLogger(**kwargs)
267358
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)
@@ -293,6 +384,21 @@ def setup_clearml_logging(
293384
294385
Returns:
295386
:class:`~ignite.handlers.clearml_logger.ClearMLLogger`
387+
388+
Examples:
389+
.. code-block:: python
390+
391+
from ignite.handlers.logger_utils import setup_clearml_logging
392+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
393+
clearml_logger = setup_clearml_logging(
394+
trainer=trainer,
395+
optimizers=optimizer,
396+
evaluators={"validation": evaluator},
397+
log_every_iters=100
398+
)
399+
400+
# Logger instance can be closed
401+
clearml_logger.close()
296402
"""
297403
logger = ClearMLLogger(**kwargs)
298404
_setup_logging(logger, trainer, optimizers, evaluators, log_every_iters)

ignite/handlers/mlflow_logger.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,19 @@ class MLflowLogger(BaseLogger):
8686
param_name='lr' # optional
8787
)
8888
89+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_mlflow_logging` for simplified setup:
90+
91+
.. code-block:: python
92+
93+
from ignite.handlers.logger_utils import setup_mlflow_logging
94+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
95+
mlflow_logger = setup_mlflow_logging(
96+
trainer=trainer,
97+
optimizers=optimizer,
98+
evaluators={"validation": evaluator},
99+
log_every_iters=100
100+
)
101+
89102
Note:
90103
:class:`~ignite.handlers.mlflow_logger.OutputHandler` can handle
91104
metrics, state attributes and engine output values of the following format:

ignite/handlers/neptune_logger.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,19 @@ def score_function(engine):
151151
output_transform=lambda loss: {"loss": loss},
152152
)
153153
154+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_neptune_logging` for simplified setup:
155+
156+
.. code-block:: python
157+
158+
from ignite.handlers.logger_utils import setup_neptune_logging
159+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
160+
neptune_logger = setup_neptune_logging(
161+
trainer=trainer,
162+
optimizers=optimizer,
163+
evaluators={"validation": evaluator},
164+
log_every_iters=100
165+
)
166+
154167
Note:
155168
:class:`~ignite.handlers.neptune_logger.OutputHandler` can handle
156169
metrics, state attributes and engine output values of the following format:

ignite/handlers/polyaxon_logger.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,19 @@ class PolyaxonLogger(BaseLogger):
9393
# to manually end a run
9494
plx_logger.close()
9595
96+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_plx_logging` for simplified setup:
97+
98+
.. code-block:: python
99+
100+
from ignite.handlers.logger_utils import setup_plx_logging
101+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
102+
plx_logger = setup_plx_logging(
103+
trainer=trainer,
104+
optimizers=optimizer,
105+
evaluators={"validation": evaluator},
106+
log_every_iters=100
107+
)
108+
96109
Note:
97110
:class:`~ignite.handlers.polyaxon_logger.OutputHandler` can handle
98111
metrics, state attributes and engine output values of the following format:

ignite/handlers/tensorboard_logger.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,20 @@ class TensorboardLogger(BaseLogger):
145145
output_transform=lambda loss: {"loss": loss}
146146
)
147147
148+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_tb_logging` for simplified setup:
149+
150+
.. code-block:: python
151+
152+
from ignite.handlers.logger_utils import setup_tb_logging
153+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
154+
tb_logger = setup_tb_logging(
155+
output_path="experiments/tb_logs",
156+
trainer=trainer,
157+
optimizers=optimizer,
158+
evaluators={"validation": evaluator},
159+
log_every_iters=100
160+
)
161+
148162
Note:
149163
:class:`~ignite.handlers.tensorboard_logger.OutputHandler` can handle
150164
metrics, state attributes and engine output values of the following format:

ignite/handlers/visdom_logger.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,19 @@ class VisdomLogger(BaseLogger):
143143
output_transform=lambda loss: {"loss": loss}
144144
)
145145
146+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_visdom_logging` for simplified setup:
147+
148+
.. code-block:: python
149+
150+
from ignite.handlers.logger_utils import setup_visdom_logging
151+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
152+
vd_logger = setup_visdom_logging(
153+
trainer=trainer,
154+
optimizers=optimizer,
155+
evaluators={"validation": evaluator},
156+
log_every_iters=100
157+
)
158+
146159
Note:
147160
:class:`~ignite.handlers.visdom_logger.OutputHandler` can handle
148161
metrics, state attributes and engine output values of the following format:

ignite/handlers/wandb_logger.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,19 @@ def score_function(engine):
121121
)
122122
evaluator.add_event_handler(Events.COMPLETED, model_checkpoint, {'model': model})
123123
124+
Alternatively, you can use :func:`~ignite.handlers.logger_utils.setup_wandb_logging` for simplified setup:
125+
126+
.. code-block:: python
127+
128+
from ignite.handlers.logger_utils import setup_wandb_logging
129+
# Assume `trainer`, `evaluator`, and `optimizer` are already defined
130+
wandb_logger = setup_wandb_logging(
131+
trainer=trainer,
132+
optimizers=optimizer,
133+
evaluators={"validation": evaluator},
134+
log_every_iters=100
135+
)
136+
124137
Note:
125138
:class:`~ignite.handlers.wandb_logger.OutputHandler` can handle
126139
metrics, state attributes and engine output values of the following format:

0 commit comments

Comments
 (0)