SwanLab 是一个开源实验跟踪工具,用于记录、可视化并比较机器学习实验。该技能适用于需要跟踪指标、配置、标签与描述,用标量图表和媒体日志可视化训练,跨随机种子、检查点与超参数比较多次运行,以及在本地或自托管环境而非托管 SaaS 上工作的场景。
主要能力
- 实验管理:通过 swanlab.init 创建项目与实验,支持 project、experiment_name、description、tags、config 等参数,可读取 run.id 与 run.config 中的配置值。
- 配置跟踪:将模型、随机种子、批大小、学习率、轮数等写入 config,并在训练代码中通过 run.config 读取。
- 指标日志:使用 swanlab.log 记录标量指标,支持一次记录多个指标、使用分组命名(如 train/loss、val/loss),并可通过 step 参数指定自定义步数。
- 媒体与图表日志:支持记录图像(swanlab.Image)、音频(swanlab.Audio)、文本(swanlab.Text)、GIF 视频(swanlab.Video)、点云(swanlab.Object3D)、分子(swanlab.Molecule.from_smiles),以及通过 swanlab.echarts 构建自定义图表。
- 部署方式:支持云端、本地(mode="local")或自托管;本地日志可用 swanlab watch -l ./swanlog 查看,之后可用 swanlab sync ./swanlog 同步。
- 框架集成:提供 PyTorch、HuggingFace Transformers、PyTorch Lightning、Fastai 的集成方式,例如 Transformers 中设置 report_to="swanlab",PyTorch Lightning 使用 SwanLabLogger,Fastai 使用 SwanLabCallback。
使用方式 安装:pip install "swanlab>=0.7.11" "pillow>=9.0.0" "soundfile>=0.12.0";本地仪表盘支持需 pip install "swanlab[dashboard]>=0.7.11";可选框架集成需 pip install transformers pytorch-lightning fastai;云端或自托管使用前执行 swanlab login。 基本流程:调用 swanlab.init 初始化实验并传入 config,在训练循环中调用 swanlab.log 记录指标或媒体,最后调用 run.finish() 结束。自托管或云端登录可使用 swanlab.login(api_key=..., host=...)。
适用场景
- 跟踪带指标、配置、标签和描述的机器学习实验。
- 用标量图表和媒体日志可视化训练过程。
- 比较不同随机种子、检查点与超参数下的多次运行。
- 在本地或自托管环境工作,而非依赖托管 SaaS。
- 与 PyTorch、Transformers、PyTorch Lightning 或 Fastai 集成。
限制与注意事项
- 资料未提供具体收费、价格或平台可用性信息。
- 资料未提供性能、效果或规模方面的量化数据。
- 版本相关细节可能过时,应以所安装版本的官方文档为准。
- 不应公开暴露服务或凭据;在配置云资源前应确认成本。
- 涉及花费、共享 GPU 或云配额、个人或患者数据以及不可撤销操作时,应先询问。