speechbrain.utils.logger 模块
日志管理器,工具类
- 作者
Fang-Pen Lin 2012 https://fangpenlin.com/posts/2012/08/26/good-logging-practice-in-python/
Peter Plantinga 2020
Aku Rouhe 2020
摘要
类
处理多进程日志记录的 Logger 适配器,确保日志仅在指定主进程时写入。 |
|
兼容 TQDM 的 StreamHandler。 |
函数
将数字格式化为适合打印的适当数量级。 |
|
返回描述当前 Python / SpeechBrain 环境的字符串。 |
|
检索指定名称的日志记录器,如果设置了环境变量 |
|
设置日志配置。 |
参考
- class speechbrain.utils.logger.MultiProcessLoggerAdapter(logger, extra=None)[source]
-
处理多进程日志记录的 Logger 适配器,确保日志仅在指定主进程时写入。此类扩展了
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
自动设置。- 参数:
name (str) – 要检索的日志记录器的名称。
- 返回:
MultiProcessLoggerAdapter
的实例,封装了具有指定名称的日志记录器。- 返回类型:
- speechbrain.utils.logger.setup_logging(config_path='log-config.yaml', overrides={}, default_level='DEBUG')[source]
设置日志配置。
- 参数:
config_path (str) – 日志配置文件的路径。
overrides (dict) – 一个字典,结构与配置字典相同,包含需要应用的任何更新值。
default_level (str) – 如果找不到配置文件时使用的日志级别。Python 日志记录允许使用整数或字符串:https://docs.pythonlang.cn/3/library/logging.html#logging.Logger.setLevel,但此处使用字符串是因为环境变量必须是字符串。可用的级别列表在此处:https://docs.pythonlang.cn/3/library/logging.html#levels
- class speechbrain.utils.logger.TqdmCompatibleStreamHandler(stream=None)[source]
-
兼容 TQDM 的 StreamHandler。
写入和打印应该通过 tqdm.tqdm.write 传递,以免弄乱 tqdm 进度条。
- speechbrain.utils.logger.format_order_of_magnitude(number, abbreviate=True)[source]
将数字格式化为适合打印的适当数量级。
- 参数:
- 返回:
格式化后的数字。注意,数量级标记是字符串的一部分。
- 返回类型:
示例
>>> 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