VisualDL — это инструмент для анализа и визуализации от PaddlePaddle, который предоставляет разнообразные графики для отображения тенденций параметров и визуализирует структуры моделей, образцы данных, гистограммы тензоров, PR-кривые, ROC-кривые и распределения многомерных данных. Он позволяет пользователям более чётко и интуитивно понимать процесс обучения и структуру модели, чтобы эффективно оптимизировать модели.
VisualDL предоставляет различные функции визуализации, включая отслеживание метрик в реальном времени, визуализацию структуры модели, отображение образца данных, визуализацию взаимосвязи между гиперпараметрами и метриками модели, представление изменений распределений тензоров, показ PR-кривых, проецирование многомерных данных в пространство меньшей размерности и многое другое. Кроме того, VisualDL предоставляет VDL.service, который позволяет разработчикам легко сохранять, отслеживать и делиться результатами визуализации экспериментов. Для конкретных инструкций по каждой функции см. Руководство пользователя VisualDL (./docs/components/README.md). Чтобы получить актуальный опыт, попробуйте нашу онлайн-демонстрацию (https://www.paddlepaddle.org.cn/paddle/visualdl/demo). В настоящее время VisualDL быстро развивается, и новые функции будут добавляться постоянно.
Браузеры, поддерживаемые VisualDL:
VisualDL изначально поддерживает использование Python. Разработчики могут получить множество результатов визуализации, просто добавив несколько строк кода Python в модель перед обучением.
Высокоуровневый дизайн API упрощает его использование. Всего один щелчок мыши может инициировать визуализацию структур моделей.
Функция содержит визуализацию параметров обучения, образцов данных, структур графиков, гистограмм тензоров, PR-кривых и распределений многомерных данных.
VisualDL обеспечивает визуализацию основных структур моделей, таких как Paddle, ONNX, Caffe, широко поддерживая визуальный анализ для различных пользователей.
Интегрируясь с PaddlePaddle и соответствующими модулями, VisualDL позволяет разработчикам беспрепятственно использовать различные компоненты и, таким образом, получать наилучшие впечатления от экосистемы PaddlePaddle.
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()
"""
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
Разработчики могут запустить панель 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 )