跳转到内容

swanlab.Settings

python
Settings(
    model_config = ConfigDict(frozen=True),
    metadata_collect: StrictBool = True,
    collect_hardware: StrictBool = True,
    collect_runtime: StrictBool = True,
    requirements_collect: StrictBool = True,
    conda_collect: StrictBool = False,
    hardware_monitor: StrictBool = True,
    disk_io_dir: DirectoryPath = Field(...),
    upload_interval: PositiveInt = 1,
    max_log_length: int = Field(ge=500, le=4096, default=1024),
)
参数描述
metadata_collect(StrictBool) 是否开启元数据采集。默认值为 True
collect_hardware(StrictBool) 是否采集当前系统环境的硬件信息。默认值为 True
collect_runtime(StrictBool) 是否采集运行时信息。默认值为 True
requirements_collect(StrictBool) 是否采集 Python 环境信息 (pip list)。默认值为 True
conda_collect(StrictBool) 是否采集 Conda 环境信息。默认值为 False
hardware_monitor(StrictBool) 是否开启硬件监控。如果 metadata_collect 关闭,则此项无效。默认值为 True
disk_io_dir(DirectoryPath) 磁盘 IO 监控的路径。默认值为系统根目录 (/C:\)。
upload_interval(PositiveInt) 日志上传间隔(单位:秒)。默认值为 1
max_log_length(int) 终端日志上传单行最大字符数(范围:500-4096)。默认值为 1024

介绍

  • swanlab.Settings类用于和管理 SwanLab 的全局功能开关和设置。

  • import swanlab时,会创建一个默认的全局设置,各个设置及其默认值详见上表。

  • 如果我们要对某些设置进行调整,需要通过新建一个Settings实例如new_settings,在实例化时传入想要修改的配置参数,然后要通过运行swanlab.merge_settings(new_settings)来对全局设置进行更新。

  • 值得注意的是,merge_settings()方法只在swanlab.init()被调用之前可用,这意味着,在使用swanlab的过程中,一旦swanlab.init()被调用,全局设置将不再能被更改。

更多用法

更新全局设置

python
import swanlab
from swanlab import Settings

# 创建新的设置对象
new_settings = Settings(
    metadata_collect=False,
    hardware_monitor=False,
    upload_interval=5
)

# 更新全局设置
swanlab.merge_settings(new_settings)

swanlab.init()
...

记录 conda 环境信息

python
import swanlab
from swanlab import Settings

# 创建新的设置对象
new_settings = Settings(
    conda_collect=True  # 默认不开启
)

# 更新全局设置
swanlab.merge_settings(new_settings)

swanlab.init()
...