Microsoft выпустила TensorWatch, инструмент для отладки и визуализации ИИ, с открытым исходным кодом на GitHub. TensorWatch можно использовать для создания пользовательских визуализаций, пользовательских интерфейсов и информационных панелей.
Его также можно использовать для выполнения произвольных запросов к вашему процессу обучения машинному обучению в реальном времени, возврата потока в результате запроса и просмотра этого потока, используя выбранный вами визуализатор.
TensorWatch — это библиотека Python, которая использует Jupyter Notebook вместо предварительно упакованных пользовательских интерфейсов, поскольку Jupyter Notebook проще настроить. При выполнении интерактивной отладки процессов обучения в реальном времени вы можете выбрать использование либо составного пользовательского интерфейса в Jupyter Notebooks, либо интерактивных панелей мониторинга в Jupyter Lab. Вы также можете создавать свои собственные пользовательские интерфейсы с помощью Python или выбирать существующие пользовательские интерфейсы Python. TensorWatch также поддерживает несколько стандартных типов визуализации, включая гистограммы, гистограммы и круговые диаграммы, в 2D и 3D версиях.
Данные в TensorWatch обрабатываются как поток, как и другие объекты, включая файлы, консоль, сокеты, облачное хранилище и визуализации. Потоки TensorWatch могут прослушивать другие потоки, что позволяет составлять настраиваемые графы потоков данных. Разработчики говорят, что это означает, что вы можете отображать несколько потоков в одной визуализации, или один поток может отображаться во многих визуализациях одновременно, или поток может быть сохраняются во многих файлах или не сохраняются вообще.
Другая основная идея, используемая в TensorWatch, — это режим ленивого ведения журнала. Это означает, что вам не нужно настраивать явное ведение журнала; вместо этого вы можете заставить TensorWatch наблюдать за переменными. Это требует гораздо меньших затрат, поэтому вы можете отслеживать столько переменных, сколько захотите, включая большие модели или целые партии во время обучения.
Затем вы можете выполнять интерактивные запросы, которые выполняются в контексте переменных, наблюдаемых TensorWatch, и получать в результате потоки. Затем эти потоки можно визуализировать, сохранить или обработать. Разработчики приводят пример написания лямбда-выражения, которое вычисляет градиенты среднего веса в каждом слое модели по завершении каждого пакета и отправляет результат в виде потока тензоров, который может быть отображен в виде гистограммы.
TensorWatch также предоставляет функции для этапов до и после обучения на основе существующих библиотек с открытым исходным кодом, чтобы обеспечить визуализацию графа модели, исследование данных за счет уменьшения размерности, статистику модели и несколько объяснений прогнозирования для сетей свертки.