TensorWatch — это инструмент для отладки и визуализации процесса обучения моделей. Библиотека была разработана Microsoft Research. Основной функционал инструмента — мониторинг процесса обучения моделей в режиме реального времени в Jupyter Notebook.
TensorWatch был позволяет кастомизировать то, какую часть модели и как пользователь хочет визуализировать, и создавать дашборды. Помимо стандартного логгирования, с помощью библиотеки можно отправлять запросы в модель, которая обучается, и получать результат запроса в формате потока ответов (Lazy Logging Mode). TensorWatch позволяет пользоваться несколькими методами для объяснения предсказаний модели, включая Lime.
Библиотека сейчас в разработке, но первую версию уже можно протестировать. TensorWatch поддерживает Python 3.x и был протестирован на PyTorch 0.4-1.x. Большинство методов должны работать и для eager вычислений в TensorFlow. TensorWatch поддерживает разные виды визуализаций: график прямой, пайчарт, гистограмма, график рассеяния и 3D версии многих графиков.
Как это работает
Когда пользователь записывает TensorWatch поток, значения сериализируются и отправляются в TCP/IP сокет и записываются в указанный файл. Из Jupyter Notebook ранее логированные значения читаются из файла и прослушивается TCP/IP сокет, чтобы вытаскивать будущие значение. Визуализатор слушает поток и обрабатывает значения, когда они поступают.
Почти все в TensorWatch представляется в виде потоков: файлы, сокеты, консоли и визуализаторы. Поток может слушать другие потоки, что позволяет создавать data flow граф.
В открытом доступе лежат официальные тьюториалы и ноутбуки с примерами.