Skip to content

Commit

Permalink
feat: integration mark (#775)
Browse files Browse the repository at this point in the history
  • Loading branch information
Zeyi-Lin authored Jan 12, 2025
1 parent e2618c1 commit 259903c
Show file tree
Hide file tree
Showing 14 changed files with 20 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@

## 🌟 最近更新

- 2025.01.11 云端版大幅优化了项目表格的性能,并支持拖拽、排序、筛选等交互

- 2025.01.01:新增折线图**持久化平滑**、折线图拖拽式改变大小,优化图表浏览体验

- 2024.12.22:我们与 [LLaMA Factory](https://github.com/hiyouga/LLaMA-Factory) 完成了联合集成,现在你可以在LLaMA Factory中使用SwanLab来**跟踪和可视化大模型微调实验**[使用指引](https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#use-swanlab-logger)
Expand All @@ -59,8 +61,6 @@

- 2024.11.24:重构设计语言的**全新UI上线**,优化大量交互细节,并支持黑夜模式。

- 2024.11.11:[VSCode](https://marketplace.visualstudio.com/items?itemName=SwanLab.swanlab&ssr=false#overview) 插件上线;新增与[Keras](https://docs.swanlab.cn/guide_cloud/integration/integration-keras.html)框架的集成;新增`run.public`方法,支持获取实验的项目名、实验名、链接等信息,[#732](https://github.com/swanhubx/swanlab/issues/732)

<br>

## 👋🏻 什么是SwanLab
Expand Down
4 changes: 2 additions & 2 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ Supports both cloud/offline usage, integrates with 30+ mainstream frameworks, an

## 🌟 Recent Updates

- 2025.01.11: The cloud version enhanced project table performance with drag-and-drop, sorting, and filtering support.

- 2025.01.01: Added **persistent smoothing** for line charts and drag-to-resize functionality for line charts, improving chart browsing experience.

- 2024.12.22: We completed integration with [LLaMA Factory](https://github.com/hiyouga/LLaMA-Factory). Now you can use SwanLab in LLaMA Factory to **track and visualize large model fine-tuning experiments**. [Usage Guide](https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#use-swanlab-logger).
Expand All @@ -59,8 +61,6 @@ Supports both cloud/offline usage, integrates with 30+ mainstream frameworks, an

- 2024.11.24: A **new UI** with redesigned language is live, optimizing numerous interaction details and supporting dark mode.

- 2024.11.11: [VSCode](https://marketplace.visualstudio.com/items?itemName=SwanLab.swanlab&ssr=false#overview) plugin is live; added integration with [Keras](https://docs.swanlab.cn/guide_cloud/integration/integration-keras.html) framework; added `run.public` method to support retrieving project name, experiment name, and links, [#732](https://github.com/swanhubx/swanlab/issues/732).

<br>

## 👋🏻 What is SwanLab
Expand Down
4 changes: 2 additions & 2 deletions README_JP.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@

## 🌟 最近の更新

- 2025.01.11 クラウド版はプロジェクトテーブルのパフォーマンスを大幅に最適化し、ドラッグ&ドロップ、並べ替え、フィルタリングなどのインタラクションをサポートしました。

- 2025.01.01:折れ線グラフの**永続的スムージング**、折れ線グラフのドラッグによるサイズ変更を追加し、チャート閲覧体験を最適化

- 2024.12.22:[LLaMA Factory](https://github.com/hiyouga/LLaMA-Factory)との統合を完了し、LLaMA FactoryでSwanLabを使用して**大規模モデルのファインチューニング実験を追跡・可視化**できるようになりました。[使用ガイド](https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#use-swanlab-logger)
Expand All @@ -59,8 +61,6 @@

- 2024.11.24:デザイン言語をリニューアルした**新UIをリリース**し、多くのインタラクションを最適化し、ダークモードをサポート

- 2024.11.11:[VSCode](https://marketplace.visualstudio.com/items?itemName=SwanLab.swanlab&ssr=false#overview)プラグインをリリース;[Keras](https://docs.swanlab.cn/guide_cloud/integration/integration-keras.html)フレームワークとの統合を追加;`run.public`メソッドを追加し、実験のプロジェクト名、実験名、リンクなどの情報を取得可能に、[#732](https://github.com/swanhubx/swanlab/issues/732)

<br>

## 👋🏻 SwanLabとは
Expand Down
4 changes: 2 additions & 2 deletions README_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@

## 🌟 Последние обновления

- 2025.01.11: Облачная версия значительно оптимизировала производительность таблиц проектов и добавила поддержку таких функций, как перетаскивание, сортировка и фильтрация.

- 2025.01.01: Добавлено **сглаживание графиков** и возможность изменения размера графиков перетаскиванием, улучшено взаимодействие с графиками.

- 2024.12.22: Интеграция с [LLaMA Factory](https://github.com/hiyouga/LLaMA-Factory), теперь можно использовать SwanLab для **отслеживания и визуализации экспериментов по тонкой настройке больших моделей** в LLaMA Factory, [инструкция по использованию](https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#use-swanlab-logger).
Expand All @@ -59,8 +61,6 @@

- 2024.11.24: Выпущен **новый UI** с переработанным дизайном, улучшены детали взаимодействия, добавлена поддержка темной темы.

- 2024.11.11: Выпущен [плагин для VSCode](https://marketplace.visualstudio.com/items?itemName=SwanLab.swanlab&ssr=false#overview); добавлена интеграция с фреймворком [Keras](https://docs.swanlab.cn/guide_cloud/integration/integration-keras.html); добавлен метод `run.public`, позволяющий получать информацию о проекте, эксперименте и ссылке, [#732](https://github.com/swanhubx/swanlab/issues/732)

<br>

## 👋🏻 Что такое SwanLab
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/accelerate.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ def __init__(

self.logdir = os.path.join(logdir, self._project) if self._logdir is not None else None

swanlab.config["FRAMEWORK"] = "accelerate"
if swanlab.get_run() is None:
self.writer = swanlab.init(**self._swanlab_init)
else:
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/fastai.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ def __init__(
self.summary_suffix = "summary"

def setup_swanlab(self):
swanlab.config["FRAMEWORK"] = "fastai"
if self._experiment.get_run() is None:
self._experiment.init(
project=self.project,
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/lightgbm.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ def __init__(self, log_params: bool = True) -> None:
self.log_params = log_params

def _init(self, env: "CallbackEnv") -> None:
swanlab.config["FRAMEWORK"] = "lightgbm"
if self.log_params:
swanlab.config.update(env.params)

Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/mmengine.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ def _init_env(self) -> Any:
except ImportError:
raise ImportError('Please run "pip install swanlab" to install swanlab')

swanlab.config["FRAMEWORK"] = "mmengine"
swanlab.init(**self._init_kwargs)
self._swanlab = swanlab

Expand Down
2 changes: 2 additions & 0 deletions swanlab/integration/pytorch_lightning.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ def __init__(
@rank_zero_experiment
def experiment(self) -> SwanLabRun:
"""创建实验"""
swanlab.config["FRAMEWORK"] = "⚡️pytorch_lightning"

if swanlab.get_run() is None:
self._experiment = swanlab.init(**self._swanlab_init)
else:
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/sb3.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ def experiment(self):
return self._run

def setup(self, config=None):
swanlab.config["FRAMEWORK"] = "🤖stable_baselines3"
if swanlab.get_run() is None:
self._run = swanlab.init(**self._swanlab_init)
else:
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/torchtune.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ def __init__(
"``swanlab`` package not found. Please install swanlab using `pip install swanlab` to use SwanLabLogger."
) from e
self._swanlab = swanlab
swanlab.config["FRAMEWORK"] = "torchtune"

# Use dir if specified, otherwise use log_dir.
self.log_dir = kwargs.pop("dir", log_dir)
Expand Down
2 changes: 2 additions & 0 deletions swanlab/integration/transformers.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ def setup(self, args, state, model, **kwargs):

if not state.is_world_process_zero:
return

swanlab.config["FRAMEWORK"] = "🤗transformers"

# 如果没有注册过实验
if self._experiment.get_run() is None:
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/ultralytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ def _log_plots(self, plots: dict, step: int, tag: str):

def on_pretrain_routine_start(self, trainer):
"""初始化实验记录器"""
swanlab.config["FRAMEWORK"] = "ultralytics"
if swanlab.get_run() is None:
self._run = swanlab.init(
project=trainer.args.project if self._project is None else self._project,
Expand Down
1 change: 1 addition & 0 deletions swanlab/integration/xgboost.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
class SwanLabCallback(xgb.callback.TrainingCallback):
def __init__(self):
# 如果没有注册过实验
swanlab.config["FRAMEWORK"] = "xgboost"
if swanlab.get_run() is None:
raise RuntimeError("You must call swanlab.init() before SwanLabCallback(). 你必须在SwanLabCallback()之前,调用swanlab.init().")

Expand Down

0 comments on commit 259903c

Please sign in to comment.