Skip to content

Latest commit

 

History

History
395 lines (256 loc) · 26.7 KB

README_RU.md

File metadata and controls

395 lines (256 loc) · 26.7 KB
SwanLab

SwanLab

Открытый инструмент для отслеживания и визуализации обучения глубоких нейронных сетей с современным дизайном
Поддерживает как облачное, так и оффлайн использование, совместим с 30+ популярными фреймворками, легко интегрируется с вашим кодом экспериментов

🔥SwanLab Online · 📃 Документация · Сообщить о проблеме · Оставить отзыв · История изменений


中文 / English / 日本語 / Русский

👋 Присоединяйтесь к нашей группе в WeChat

Содержание


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

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

  • 2024.12.22: Интеграция с LLaMA Factory, теперь можно использовать SwanLab для отслеживания и визуализации экспериментов по тонкой настройке больших моделей в LLaMA Factory, инструкция по использованию.

  • 2024.12.15: Добавлена функция мониторинга оборудования (0.4.0), поддерживается запись и мониторинг системной информации для CPU, NPU (Ascend), GPU (Nvidia).

  • 2024.12.06: Добавлена интеграция с LightGBM и XGBoost; увеличено ограничение на длину строки в логах.

  • 2024.11.26: Вкладка "Окружение" — раздел "Оборудование" теперь поддерживает распознавание Huawei Ascend NPU и Kunpeng CPU; раздел "Облачные провайдеры" поддерживает распознавание QingCloud.

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

  • 2024.11.11: Выпущен плагин для VSCode; добавлена интеграция с фреймворком Keras; добавлен метод run.public, позволяющий получать информацию о проекте, эксперименте и ссылке, #732


👋🏻 Что такое SwanLab

SwanLab — это открытый и легковесный инструмент для отслеживания и визуализации обучения моделей искусственного интеллекта, предоставляющий платформу для отслеживания, записи, сравнения и совместной работы над экспериментами.

SwanLab ориентирован на исследователей в области ИИ, предлагая удобный Python API и красивый интерфейс, а также функции визуализации обучения, автоматической записи логов, записи гиперпараметров, сравнения экспериментов и совместной работы. С помощью SwanLab исследователи могут обнаруживать проблемы в обучении на основе наглядных графиков, сравнивать несколько экспериментов для поиска идей и делиться результатами через онлайн-страницы и совместное обучение в организациях, что упрощает коммуникацию в команде и повышает эффективность обучения.

Основные функции:

1. 📊 Отслеживание метрик и гиперпараметров: Минималистичный код для встраивания в ваш ML pipeline, отслеживание ключевых метрик обучения.

  • Поддержка облачного использования (аналогично Weights & Biases), возможность просмотра прогресса обучения в любое время. Как смотреть эксперименты на телефоне
  • Поддержка записи гиперпараметров и их отображения в таблицах.
  • Поддерживаемые типы данных: скалярные метрики, изображения, аудио, текст, ...
  • Поддерживаемые типы графиков: линейные графики, медиа-графики (изображения, аудио, текст), ...
  • Автоматическая запись логов: логирование, информация об оборудовании, Git-репозитории, окружение Python, список библиотек Python, рабочая директория проекта.

2. ⚡️ Полная интеграция с фреймворками: PyTorch, 🤗HuggingFace Transformers, PyTorch Lightning, 🦙LLaMA Factory, MMDetection, Ultralytics, PaddleDetetion, LightGBM, XGBoost, Keras, Tensorboard, Weights&Biases, OpenAI, Swift, XTuner, Stable Baseline3, Hydra и более 30+ фреймворков.

3. 💻 Мониторинг оборудования: Поддержка записи и мониторинга системных показателей CPU, NPU (Ascend), GPU (Nvidia), памяти.

4. 📦 Управление экспериментами: Централизованная панель управления, разработанная для сценариев обучения, позволяет быстро просматривать и управлять несколькими проектами и экспериментами.

5. 🆚 Сравнение результатов: Сравнение гиперпараметров и результатов разных экспериментов через онлайн-таблицы и графики, поиск идей для улучшения.

6. 👥 Онлайн-сотрудничество: Возможность совместного обучения с командой, синхронизация экспериментов в реальном времени в одном проекте, просмотр записей обучения команды и обсуждение результатов.

7. ✉️ Поделиться результатами: Копирование и отправка постоянных URL для обмена каждым экспериментом, удобная отправка партнерам или встраивание в онлайн-заметки.

8. 💻 Поддержка самостоятельного размещения: Поддержка оффлайн использования, локальная версия также позволяет просматривать панель управления и управлять экспериментами.

Important

Добавьте проект в избранное, чтобы получать уведомления о всех новых выпусках без задержек~ ⭐️

star-us


📃 Онлайн-демонстрация

Ознакомьтесь с онлайн-демонстрацией SwanLab:

Классификация кошек и собак с ResNet50 Обнаружение объектов с Yolov8-COCO128
Отслеживание простой модели ResNet50 для задачи классификации изображений на наборе данных кошек и собак. Использование Yolov8 для задачи обнаружения объектов на наборе данных COCO128, отслеживание гиперпараметров и метрик обучения.
Тонкая настройка Qwen2 Прогнозирование акций Google с LSTM
Отслеживание тонкой настройки большой языковой модели Qwen2 для выполнения простых инструкций. Использование простой модели LSTM для прогнозирования будущих цен акций Google на наборе данных акций.
Классификация аудио с ResNeXt101 Тонкая настройка Qwen2-VL на наборе данных COCO
Постепенный процесс экспериментов от ResNet к ResNeXt в задаче классификации аудио. Тонкая настройка мультимодальной модели Qwen2-VL на наборе данных COCO2014 с использованием Lora.

Больше примеров


🏁 Быстрый старт

1. Установка

pip install swanlab

2. Вход и получение API Key

  1. Бесплатная регистрация аккаунта

  2. Войдите в аккаунт, скопируйте ваш API Key в разделе пользовательских настроек > API Key

  3. Откройте терминал и введите:

swanlab login

При появлении запроса введите ваш API Key, нажмите Enter, чтобы завершить вход.

3. Интеграция SwanLab с вашим кодом

import swanlab

# Инициализация нового эксперимента SwanLab
swanlab.init(
    project="my-first-ml",
    config={'learning-rate': 0.003},
)

# Запись метрик
for i in range(10):
    swanlab.log({"loss": i, "acc": i})

Готово! Перейдите на SwanLab, чтобы увидеть ваш первый эксперимент.


💻 Самостоятельное размещение

Локальная версия поддерживает оффлайн просмотр панели управления SwanLab.

Оффлайн отслеживание экспериментов

Установите параметры logir и mode в swanlab.init, чтобы отслеживать эксперименты оффлайн:

...

swanlab.init(
    logdir='./logs',
    mode='local',
)

...
  • Параметр mode устанавливается в local, чтобы отключить синхронизацию экспериментов с облаком.

  • Параметр logdir является необязательным, он указывает путь для сохранения логов SwanLab (по умолчанию сохраняется в папке swanlog).

    • Лог-файлы создаются и обновляются в процессе отслеживания экспериментов, локальная панель управления также основывается на этих файлах.

Остальные части полностью совместимы с облачным использованием.

Запуск локальной панели управления

Откройте терминал и используйте следующую команду для запуска панели управления SwanLab:

swanlab watch ./logs

После выполнения команды SwanLab предоставит локальный URL (по умолчанию http://127.0.0.1:5092).

Перейдите по этой ссылке, чтобы просмотреть эксперименты в браузере.


🚗 Интеграция с фреймворками

Используйте ваш любимый фреймворк вместе с SwanLab!
Ниже приведен список уже интегрированных фреймворков. Если вы хотите предложить интеграцию с другим фреймворком, создайте Issue.

Основные фреймворки

Специализированные/фреймворки для тонкой настройки

Компьютерное зрение

Обучение с подкреплением

Другие фреймворки:

Больше интеграций


🆚 Сравнение с известными инструментами

Tensorboard vs SwanLab

  • ☁️ Поддержка онлайн-использования: SwanLab позволяет легко синхронизировать и сохранять эксперименты в облаке, что удобно для удаленного просмотра прогресса обучения, управления историей проектов, обмена ссылками на эксперименты, отправки уведомлений и просмотра экспериментов на разных устройствах. Tensorboard — это оффлайн инструмент для отслеживания экспериментов.

  • 👥 Совместная работа: При совместной работе над проектами машинного обучения SwanLab упрощает управление проектами, обмен ссылками на эксперименты и обсуждение результатов. Tensorboard в основном предназначен для индивидуального использования и не поддерживает совместную работу.

  • 💻 Постоянная и централизованная панель управления: Независимо от того, где вы обучаете модель — на локальном компьютере, в лабораторном кластере или на облачном GPU, результаты будут записываться в одну централизованную панель управления. Tensorboard требует ручного копирования и управления файлами TFEvent с разных машин.

  • 💪 Более мощные таблицы: SwanLab позволяет просматривать, искать и фильтровать результаты из разных экспериментов, что упрощает поиск лучшей модели для различных задач. Tensorboard не подходит для крупных проектов.

Weights and Biases vs SwanLab

  • Weights and Biases — это закрытая MLOps платформа, требующая подключения к интернету.

  • SwanLab поддерживает как онлайн, так и оффлайн использование, а также предоставляет открытую и бесплатную версию для самостоятельного размещения.


👥 Сообщество

Сообщество и поддержка

  • GitHub Issues: Ошибки и проблемы при использовании SwanLab.
  • Электронная почта: Отправка отзывов и вопросов по использованию SwanLab.
  • Группа в WeChat: Обсуждение вопросов по использованию SwanLab, обмен новыми технологиями в области ИИ.

Значок SwanLab для README

Если вам нравится использовать SwanLab в вашей работе, добавьте значок SwanLab в ваш README:

swanlab

[![swanlab](https://img.shields.io/badge/powered%20by-SwanLab-438440)](https://github.com/swanhubx/swanlab)

Цитирование SwanLab в научных работах

Если SwanLab помог вам в ваших исследованиях, рассмотрите возможность цитирования в следующем формате:

@software{Zeyilin_SwanLab_2023,
  author = {Zeyi Lin, Shaohong Chen, Kang Li, Qiushan Jiang, Zirui Cai,  Kaifang Ji and {The SwanLab team}},
  doi = {10.5281/zenodo.11100550},
  license = {Apache-2.0},
  title = {{SwanLab}},
  url = {https://github.com/swanhubx/swanlab},
  year = {2023}
}

Вклад в развитие SwanLab

Хотите внести вклад в SwanLab? Сначала ознакомьтесь с руководством по вкладу.

Мы также приветствуем поддержку через социальные сети, мероприятия и конференции. Спасибо!

Скачать иконку

SwanLab-Icon-SVG


Участники


📃 Лицензия

Этот репозиторий распространяется под лицензией Apache 2.0 License.

История звезд

Star History Chart