speechbrain.utils.logger 模块
管理日志记录器,实用工具
- Author
Fang-Pen Lin 2012 https://fangpenlin.com/posts/2012/08/26/good-logging-practice-in-python/
彼得·普兰廷加 2020
阿库·柔赫 2020
摘要
类:
处理多进程日志记录的日志适配器,确保日志仅在指定的主进程中写入。 |
|
与TQDM兼容的StreamHandler。 |
函数:
将数字格式化为适当的数量级以便打印。 |
|
返回一个描述当前Python / SpeechBrain环境的字符串。 |
|
检索具有指定名称的记录器,如果设置了环境变量 |
|
设置日志配置。 |
参考
- class speechbrain.utils.logger.MultiProcessLoggerAdapter(logger, extra=None)[source]
-
处理多进程日志记录的日志适配器,确保日志仅在指定的主进程中写入。此类扩展了
logging.LoggerAdapter,并提供了额外的功能,用于在多进程环境中控制日志记录,可以选择将日志限制在主进程中。这个类深受HuggingFace Accelerate工具包的启发: https://github.com/huggingface/accelerate/blob/85b1a03552cf8d58e036634e004220c189bfb247/src/accelerate/logging.py#L22
- speechbrain.utils.logger.get_logger(name: str) MultiProcessLoggerAdapter[source]
检索具有指定名称的记录器,如果设置了环境变量
SB_LOG_LEVEL,则应用其日志级别,否则默认为INFO级别。如果环境变量
SB_LOG_LEVEL未定义,则默认为INFO级别,并在环境中设置此级别以供将来使用。环境变量可以手动设置,也可以在Brain类中自动设置,遵循setup_logging。- Parameters:
name (str) – 要检索的记录器的名称。
- Returns:
一个
MultiProcessLoggerAdapter的实例,用于包装具有指定名称的记录器。- Return type:
- speechbrain.utils.logger.setup_logging(config_path='log-config.yaml', overrides={}, default_level='DEBUG')[source]
设置日志配置。
- Parameters:
config_path (str) – 日志配置文件的路径。
overrides (dict) – 一个与配置字典结构相同的字典,包含需要应用的任何更新值。
default_level (str) – 如果未找到配置文件,则使用的日志级别。 Python 日志记录允许使用整数或字符串: https://docs.python.org/3/library/logging.html#logging.Logger.setLevel 但这里使用字符串,因为环境变量必须是字符串。可用的级别列在这里: https://docs.python.org/3/library/logging.html#levels
- class speechbrain.utils.logger.TqdmCompatibleStreamHandler(stream=None)[source]
基础类:
StreamHandlerTQDM 兼容的 StreamHandler。
写入和打印应通过 tqdm.tqdm.write 进行,以免 tqdm 进度条被打乱。
- speechbrain.utils.logger.format_order_of_magnitude(number, abbreviate=True)[source]
将数字格式化为适合打印的数量级。
- Parameters:
- Returns:
格式化后的数字。请注意,数量级标记是字符串的一部分。
- Return type:
Example
>>> print(format_order_of_magnitude(123456)) 123.5k >>> print(format_order_of_magnitude(0.00000123, abbreviate=False)) 1.2 millionths >>> print(format_order_of_magnitude(5, abbreviate=False)) 5