Sådan bruges Tensorboard med PyTorch i Google Colab

Hvorfor du er her

PyTorch er den hurtigst voksende ramme for dyb læring. Det giver flere fordele i forhold til den mere etablerede TensorFlow.

Ét område PyTorch falder dog ikke under TensorFlow er økosystemunderstøttelse. Tensorflow har et rigt økosystem med biblioteker, som PyTorch ikke har. For eksempel at tjene modeller, implementere på mobil og til at visualisere træning. Denne sidste er det, der interesserer mig i dag. Især har PyTorch ikke et indbygget træningsvisualiseringsværktøj som TensorFlow's TensorBoard. Dette betyder, at det kan være mere tidskrævende at konfigurere en visualisering af din træning med PyTorch end med TensorFlow, og du beslutter muligvis ikke at konfigurere visualisering overhovedet.

Cool Tensorflow-visualisering fra: https://stackoverflow.com/a/41370610/1514728

I dette indlæg viser jeg dig to måder, du kan visualisere din PyTorch-modeluddannelse, når du bruger Google Colab. Den første bruger den nye Jupyter TensorBoard magiske kommando, og den anden bruger bibliotekets tensorboardcolab. Du kan finde et link til et eksempel på en Colab-notebook i slutningen af ​​hvert afsnit.

Tensorbræt Colab magi

Magiske kommandoer kommer fra IPython-kernen og er beregnet til kortfattet at løse almindelige problemer i databehandling. Bekvemt er der nu en TensorBoard-magisk kommando (bare sørg for at installere den nyeste TensorFlow-build).

# Installer nyeste Tensorflow build
! pip installere -q tf-nightly-2.0-preview
fra tensorflowimportoversigt
% load_ext tensorboard.notebook

Instant derefter oversigtsforfatterne. I dette tilfælde har jeg en til optagelsestræning og en anden til optagelsestestning.

aktuelle_tid = str (datetime.datetime.now (). tidsstempel ())
train_log_dir = 'logs / tensorboard / train /' + aktuel_tid
test_log_dir = 'logs / tensorboard / test /' + aktuel_tid
train_summary_writer = Summary.create_file_writer (train_log_dir)
test_summary_writer = Summary.create_file_writer (test_log_dir)

Og du kan skrive til TensorBoard, ligesom du ville gøre i din TensorFlow-kode. Se linjer 24–26 nedenfor.

Kør derefter

% tensorboard - logdir logs / tensorboard

Det kan tage 5 sekunder for TensorBoard at indlæse og begynde at lytte til mappeloggene / tensorboard. Når du ser TensorBoard op, skal du løbe.

tog (model, train_loader, ...)

Og du vil se noget lignende:

Tensorboard kører samtidig med træning!

Tillykke . Du bruger PyTorch med TensorBoard i Colab. Bemærk, at dette også skal fungere i enhver Jupyter-notebook, der bruger IPython-kernen, så længe du installerer den nyeste TensorFlow.

For at se, hvordan alt fungerer sammen, tjek dette eksempel på en Colab-notebook.

Biblioteket tensorboardcolab

Den anden måde at bruge TensorBoard med PyTorch i Colab er tensorboardcolab-biblioteket. Dette bibliotek fungerer uafhængigt af TensorBoard-magikommandoen beskrevet ovenfor.

Denne tilgang ligner TensorBoard magiske kommando, undtagen i stedet for at køre TensorBoard i din colab-notebook bruger den ngrok til at tunnelere TensorBoard til localhost. Se dette Stack Overflow-svar for flere detaljer.

For at bruge tensorboardcolab vil vi øjeblikkeligt indstille TensorBoardColab og derefter gemme værdier til det under træning.

! pip installer tensorboardcolab
fra tensorboardcolab import TensorBoardColab
tb = TensorBoardColab ()

Koden, der skal gemmes i TensorBoardColab, mens træning kunne se sådan ud (se linje 25):

Så når du løber

tog (model, train_loader, ...)

Du ser noget lignende

Tensorboard kører på http://db797eee.ngrok.io

Når du går til linket, ser du det TensorBoard betjeningspanel, du kender og elsker.

Tensorbræt-instrumentbræt ved hjælp af tensorboardcolab

For at se, hvordan alt fungerer sammen, tjek dette eksempel på en Colab-notebook.

Konklusion

Der har du det, to måder at visualisere din PyTorch-træning ved hjælp af TensorBoard og Google Colab. Jeg har lavet eksempler på Colab-notesbøger til hver af tilgange.

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

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

Held og lykke

Jeg leder datateamet hos Looka, og vi bruger masser af PyTorch og TensorFlow. Hvis du er interesseret i at arbejde i krydset mellem AI og design, kan du tage et kig på vores karriereside.