Accelerate documentation
Logging with Accelerate
Getting started
Tutorials
OverviewMigrating to 🤗 AccelerateLaunching distributed codeLaunching distributed training from Jupyter Notebooks
How-To Guides
Start Here!Example ZooHow perform inference on large models with small resourcesHow to perform distributed inference with normal resourcesPerforming gradient accumulationAccelerating training with local SGDSaving and loading training statesUsing experiment trackersHow to avoid CUDA Out-of-MemoryHow to use Apple Silicon M1 GPUsHow to use DeepSpeedHow to use Fully Sharded Data ParallelismHow to use Megatron-LMHow to use 🤗 Accelerate with SageMakerHow to use 🤗 Accelerate with Intel® Extension for PyTorch for cpu
Concepts and fundamentals
Comparing performance across distributed setupsExecuting and deferring jobsGradient synchronizationTPU best practices
Reference
You are viewing v0.20.3 version. A newer version v1.13.0 is available.
Logging with Accelerate
Accelerate has its own logging utility to handle logging while in a distributed system.
To utilize this replace cases of logging with accelerate.logging:
- import logging
+ from accelerate.logging import get_logger
- logger = logging.getLogger(__name__)
+ logger = get_logger(__name__)Setting the log level
The log level can be set with the ACCELERATE_LOG_LEVEL environment variable or by passing
log_level to get_logger:
from accelerate.logging import get_logger
logger = get_logger(__name__, log_level="INFO")accelerate.logging.get_logger
< source >( name: str log_level: str = None )
Parameters
-
name (
str) — The name for the logger, such as__file__ -
log_level (
str, optional) — The log level to use. If not passed, will default to theLOG_LEVELenvironment variable, orINFOif not
Returns a logging.Logger for name that can handle multiprocessing.
If a log should be called on all processes, pass main_process_only=False If a log should be called on all
processes and in order, also pass in_order=True
Example:
>>> from accelerate.logging import get_logger
>>> logger = get_logger(__name__)
>>> logger.info("My log", main_process_only=False)
>>> logger.debug("My log", main_process_only=True)
>>> logger = get_logger(__name__, log_level="DEBUG")
>>> logger.info("My log")
>>> logger.debug("My second log")
>>> from accelerate import Accelerator
>>> accelerator = Accelerator()
>>> array = ["a", "b", "c", "d"]
>>> letter_at_rank = array[accelerator.process_index]
>>> logger.info(letter_at_rank, in_order=True)