Как да използвате Tensorboard с PyTorch в Google Colab

Защо сте тук

PyTorch е най-бързо развиващата се дълбока рамка на обучение. Той предлага няколко предимства пред по-утвърдения TensorFlow.

Една област PyTorch обаче не достига до TensorFlow е поддръжка на екосистемата. Tensorflow има богата екосистема от библиотеки, които PyTorch няма. Например за обслужване на модели, разполагане на мобилни устройства и за визуализиране на обучение. Това последно е това, което ме интересува днес. По-конкретно, PyTorch няма нативен инструмент за визуализация на тренировки като TensorFlow's TensorBoard. Това означава, че може да отнеме повече време, за да настроите визуализация на вашето обучение с PyTorch, отколкото с TensorFlow, и може да решите да не настройвате визуализацията изобщо.

Cool Tensorflow визуализация от: https://stackoverflow.com/a/41370610/1514728

В тази публикация ще ви покажа два начина, по които можете да визуализирате обучението си на PyTorch при използване на Google Colab. Първият използва новата магическа команда Jupyter TensorBoard, а вторият използва библиотеката tensorboardcolab. Можете да намерите линк към примерна тетрадка на Colab в края на всеки раздел.

Магия от тенборд Colab

Магическите команди идват от ядрото на IPython и са предназначени за кратко решение на често срещани проблеми при обработката на данни. Удобно е, че сега има магическа команда TensorBoard (просто се уверете, че инсталирате най-новата версия на TensorFlow).

# Инсталирайте най-новата версия на Tensorflow
! pip install -q tf-nightly-2.0-preview
от обобщението за внос на tensorflow
% load_ext tensorboard.notebook

Тогава инстанцирайте обобщените писатели. В този случай имам един за обучение по запис и друг за тестване на запис.

current_time = str (datetime.datetime.now (). timestamp ())
train_log_dir = 'регистрационни файлове / тензорна дъска / влак /' + current_time
test_log_dir = 'регистрационни файлове / тензорна дъска / тест /' + current_time
train_summary_writer = Summary.create_file_writer (train_log_dir)
test_summary_writer = sum.create_file_writer (test_log_dir)

И можете да пишете на TensorBoard точно както бихте направили в кода си TensorFlow. Вижте редове 24–26 по-долу.

След това бягайте

% tensorboard - loglog / тензор

Може да отнеме 5 секунди, за да се зареди TensorBoard и да започне да слуша журналите / тензорната папка. След като видите TensorBoard нагоре, стартирайте.

влак (модел, train_loader, ...)

И ще видите нещо подобно:

Tensorboard работи едновременно с обучение!

Поздравления . Използвате PyTorch с TensorBoard в Colab. Имайте предвид, че това трябва да работи и във всеки ноутбук на Jupyter, използващ ядрото на IPython, стига да инсталирате най-новия TensorFlow.

За да видите как всичко работи заедно, проверете този примерен преносим компютър Colab.

Библиотеката на tensorboardcolab

Вторият начин за използване на TensorBoard с PyTorch в Colab е библиотеката tensorboardcolab. Тази библиотека работи независимо от описаната по-горе магическа команда TensorBoard.

Този подход е подобен на магическата команда TensorBoard, с изключение на това, че вместо да изпълнява TensorBoard във вашия ноутбук за колаб, той използва ngrok за тунел на TensorBoard към localhost. Вижте този отговор на препълване на стек за повече подробности.

За да използваме tensorboardcolab, ще инсталираме TensorBoardColab и след това ще запазим стойности в него по време на обучение.

! pip инсталирайте tensorboardcolab
от внос на tensorboardcolab TensorBoardColab
tb = TensorBoardColab ()

Кодът, който да запишете в TensorBoardColab, докато тренирате, може да изглежда нещо подобно (вижте ред 25):

Тогава когато тичате

влак (модел, train_loader, ...)

Ще видите нещо подобно

Tensorboard работи на http://db797eee.ngrok.io

Когато отидете на връзката, ще видите таблото за управление на TensorBoard, което познавате и обичате.

Таблото за тензорни табла с помощта на tensorboardcolab

За да видите как всичко работи заедно, проверете този примерен преносим компютър Colab.

заключение

Имате го, два начина да визуализирате обучението си в PyTorch с помощта на TensorBoard и Google Colab. Направих примерни тетрадки Colab за всеки от подходите.

Magic Tensorboard: https://colab.research.google.com/drive/1NbEqqB42VSzYt-mmb4ESc8yxL05U2TIV

tensorboardcolab: https://colab.research.google.com/drive/1hR-DQvve8uEX2zH8h4y1XgP1atKRUl0g

Успех

Аз ръководя екипа за данни в Looka и използваме много PyTorch и TensorFlow. Ако се интересувате от работа в пресечната точка на AI и дизайн, разгледайте нашата страница за кариери.