1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/paddlepaddle-VisualDL

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Введение

VisualDL — это инструмент для анализа и визуализации от PaddlePaddle, который предоставляет разнообразные графики для отображения тенденций параметров и визуализирует структуры моделей, образцы данных, гистограммы тензоров, PR-кривые, ROC-кривые и распределения многомерных данных. Он позволяет пользователям более чётко и интуитивно понимать процесс обучения и структуру модели, чтобы эффективно оптимизировать модели.

VisualDL предоставляет различные функции визуализации, включая отслеживание метрик в реальном времени, визуализацию структуры модели, отображение образца данных, визуализацию взаимосвязи между гиперпараметрами и метриками модели, представление изменений распределений тензоров, показ PR-кривых, проецирование многомерных данных в пространство меньшей размерности и многое другое. Кроме того, VisualDL предоставляет VDL.service, который позволяет разработчикам легко сохранять, отслеживать и делиться результатами визуализации экспериментов. Для конкретных инструкций по каждой функции см. Руководство пользователя VisualDL (./docs/components/README.md). Чтобы получить актуальный опыт, попробуйте нашу онлайн-демонстрацию (https://www.paddlepaddle.org.cn/paddle/visualdl/demo). В настоящее время VisualDL быстро развивается, и новые функции будут добавляться постоянно.

Браузеры, поддерживаемые VisualDL:

  • Google Chrome ≥ 79;
  • Firefox ≥ 67;
  • Microsoft Edge ≥ 79;
  • Safari ≥ 11.1.

VisualDL изначально поддерживает использование Python. Разработчики могут получить множество результатов визуализации, просто добавив несколько строк кода Python в модель перед обучением.

Содержание

  • Основные моменты;
  • Установка;
  • Руководство по использованию;
  • Предварительный просмотр функций;
  • Часто задаваемые вопросы;
  • Вклад;
  • Дополнительные сведения;
  • Техническая коммуникация.

Основные моменты

Простота использования

Высокоуровневый дизайн API упрощает его использование. Всего один щелчок мыши может инициировать визуализацию структур моделей.

Разнообразные функции

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

Высокая совместимость

VisualDL обеспечивает визуализацию основных структур моделей, таких как Paddle, ONNX, Caffe, широко поддерживая визуальный анализ для различных пользователей.

Полная поддержка

Интегрируясь с PaddlePaddle и соответствующими модулями, VisualDL позволяет разработчикам беспрепятственно использовать различные компоненты и, таким образом, получать наилучшие впечатления от экосистемы PaddlePaddle.

Установка

Установка через PiP

python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple

Установка из кода

git clone https://github.com/PaddlePaddle/VisualDL.git
cd VisualDL

python setup.py bdist_wheel
pip install --upgrade
``` **Использование VisualDL**

Обратите внимание, что Python 2 больше официально не поддерживается с 1 января 2020 года. VisualDL теперь поддерживает только Python 3, чтобы обеспечить удобство использования кодов.

**Руководство по использованию**
VisualDL сохраняет данные, параметры и другую информацию о процессе обучения в файле журнала. Пользователи могут запустить панель для просмотра результатов визуализации.

1. **Журнал**
Python SDK предоставляется на серверной части VisualDL, а регистратор можно настроить через LogWriter. Описание интерфейса выглядит следующим образом:

```python
class LogWriter(logdir=None,
                max_queue=10,
                flush_secs=120,
                filename_suffix='',
                **kwargs)
Параметры интерфейса Тип Значение
logdir string Путь к файлу журнала. VisualDL создаст файл журнала в этом пути для записи информации, генерируемой процессом обучения. Если не указано, путь будет runs/${CURRENT_TIME} по умолчанию.
max_queue int Максимальная ёмкость данных, сгенерированных перед записью в файл журнала. Значение по умолчанию — 10. Если ёмкость достигнута, данные немедленно записываются в файл журнала.
flush_secs int Максимальное время кэширования данных, сгенерированных перед записью в файл журнала. Значение по умолчанию — 120. Когда это время достигнуто, данные сразу же записываются в файл журнала (когда очередь сообщений журнала достигает максимального времени кэша или максимальной ёмкости, она немедленно записывается в файл журнала).
filename_suffix string Добавить суффикс к имени файла журнала по умолчанию.
display_name string Этот параметр отображается в местоположении «Select Data Stream» на панели. Если не установлено, имя по умолчанию — logdir (если logdir слишком длинный или его нужно скрыть).
file_name string Установите имя файла журнала. Если имя файла уже существует, установка имени файла будет новыми записями в том же файле журнала, который будет использоваться дальше. Обратите внимание, что имя должно включать «vdlrecords».

Пример Создайте файл журнала и запишите скалярные значения:

from visualdl import LogWriter

# создать файл журнала под `./log/scalar_test/train`
with LogWriter(logdir="./log/scalar_test/train") as writer:
    # использовать `add_scalar`, чтобы записать скалярные значения
    writer.add_scalar(tag="acc", step=1, value=0.5678)
    writer.add_scalar(tag="acc", step=2, value=0.6878)
    writer.add_scalar(tag="acc", step=3, value=0.9878)

# вы также можете использовать следующий метод без использования контекстного менеджера `with`:
"""
writer = LogWriter(logdir="./log/scalar_test/train")

writer.add_scalar(tag="acc", step=1, value=0.5678)
writer.add_scalar(tag="acc", step=2, value=0.6878)
writer.add_scalar(tag="acc", step=3, value=0.9878)

writer.close()
"""
  1. Запуск панели В приведённом выше примере в журнале записано три набора скалярных значений. Разработчики могут просматривать результаты визуализации журнала через запуск панели visualDL. Есть два способа запуска файла журнала:
  • Запуск из командной строки Используйте командную строку для запуска панели VisualDL:
visualdl --logdir <dir_1, dir_2, ... , dir_n> --model <model_file> --host <host> --port <port> --cache-timeout <cache_timeout> --language <language> --public-path <public_path> --api-only --component_tabs <tab_name1, tab_name2, ...>
Параметр Значение
--logdir Задайте один или несколько каталогов
--- ---
log.
--model Строка
--host Строка
--port Целое число
--cache-timeout Целое число
--language Строка
--public-path Строка
--api-only Логический
--component_tabs Логический

Визуализировать файл журнала, созданный на предыдущем шаге, разработчики могут запустить панель с помощью команды:

visualdl --logdir ./log

Запуск в скрипте Python

Разработчики могут запустить панель VisualDL в скрипте Python следующим образом:

visualdl.server.app.run(logdir,
                        model="path/to/model",
                        host="127.0.0.1",
                        port=8080,
                        cache_timeout=20,
                        language=None,
                                        public_path=None,
                        api_only=False,
                        open_browser=False)

Обратите внимание: поскольку все параметры неопределённы, кроме logdir, разработчикам следует указывать имена параметров при их использовании. Сравнение нескольких экспериментов

Разработчики могут сравнивать несколько экспериментов, одновременно задавая и загружая путь каждого эксперимента, чтобы визуализировать одни и те же параметры на одном графике.

Image

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

Audio

Audio позволяет разработчикам прослушивать аудиоданные в режиме реального времени во время процесса обучения, помогая разработчикам отслеживать процесс распознавания речи и преобразования текста в речь.

Text

Text визуализирует текстовый вывод моделей НЛП на любом этапе, помогая разработчикам сравнивать изменения выходных данных, чтобы глубоко понять процесс обучения и просто оценить производительность модели.

Graph

Graph позволяет разработчикам визуализировать структуры моделей одним щелчком мыши. Кроме того, Graph позволяет разработчикам исследовать атрибуты модели, информацию о узлах, входные и выходные данные узлов, помогая им быстро анализировать структуры моделей и легко понимать направление потока данных. Также Graph поддерживает визуализацию динамического и статического графа модели соответственно.

Динамический граф

Статический граф

Histogram

Histogram отображает, как меняется тенденция тензора (веса, смещения, градиента и т. д.) в процессе обучения в виде гистограммы. Разработчики могут точно настроить структуры модели, глубоко понимая влияние каждого слоя.

Режим смещения

Режим наложения

PR Curve

PR Curve отображает значения точности и отзыва при различных порогах, помогая разработчикам эффективно находить наилучший порог.

ROC Curve

ROC Curve показывает производительность классификационной модели при всех пороговых значениях классификации; чем больше площадь под кривой, тем лучше работает модель, что помогает разработчикам оценить производительность модели и выбрать подходящий порог.

High Dimensional

High Dimensional предоставляет три подхода — T-SNE, PCA и UMAP — для выполнения уменьшения размерности, позволяя разработчикам проводить глубокий анализ взаимосвязи между данными высокой размерности и оптимизировать алгоритмы на основе анализа. Hyper Parameters визуализируют связь между гиперпараметрами и метриками модели (такими как точность и потери) в наглядном виде, помогая эффективно определить оптимальные гиперпараметры.

Performance Analysis (Profiler) визуализирует данные профилирования, собранные во время выполнения программы, помогая выявить узкие места программы и оптимизировать производительность. Подробнее см. в руководстве VisualDL Profiler Guide.

Компонент X2Paddle предоставляет функции визуализации и преобразования моделей формата ONNX в формат Paddle.

Компонент FastDeployServer предоставляет функции загрузки и редактирования репозитория моделей, управления и мониторинга службы FastDeployServer, а также предоставления клиенту для тестирования сервиса. Подробнее см. в документации по использованию VisualDL для визуализации развёртывания FastDeploy.

Компонент FastDeployClient в основном используется для быстрого доступа к службе FastDeployServer и помогает пользователям визуализировать запросы на предсказание и результаты. Подробнее см. в документации по использованию VisualDL в качестве клиента FastDeploy для визуализации запросов.

Сервис VDL позволяет разработчикам легко сохранять, отслеживать и делиться результатами визуализации с кем угодно бесплатно.

Если у вас возникли проблемы при использовании VisualDL, обратитесь к нашим часто задаваемым вопросам.

VisualDL — это проект с открытым исходным кодом, поддерживаемый PaddlePaddle и ECharts. Разработчики могут использовать, комментировать и вносить свой вклад.

Для получения более подробной информации о VisualDL обратитесь к Руководству пользователя VisualDL, Руководству VisualDL Profiler, документации по использованию VisualDL для визуализации развёртывания FastDeploy и документации по использованию VisualDL в качестве клиента FastDeploy для визуализации запросов.

Добро пожаловать в официальную группу QQ 1045783368 для общения с командой PaddlePaddle и другими разработчиками.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

VisualDL — это инструмент для визуализации и анализа от компании Flyte, который позволяет наглядно представить тенденции изменения параметров обучения, структуру модели, образцы данных и распределение многомерных данных. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/paddlepaddle-VisualDL.git
git@api.gitlife.ru:oschina-mirror/paddlepaddle-VisualDL.git
oschina-mirror
paddlepaddle-VisualDL
paddlepaddle-VisualDL
develop