Jak používat Tensorboard s PyTorch v Google Colab

Proč jsi tady?

PyTorch je nejrychleji rostoucí hluboký vzdělávací rámec. V porovnání se zavedeným systémem TensorFlow nabízí několik výhod.

Jedna oblast PyTorch však zaostává za podporou TensorFlow a podporuje ekosystém. Tensorflow má bohatý ekosystém knihoven, které PyTorch nemá. Například sloužit modelům, nasazovat na mobil a vizualizovat školení. To poslední mě zajímá dnes. Zejména PyTorch nemá nativní vizualizační tréninkový nástroj, jako je TensorFlow's TensorBoard. To znamená, že nastavení vizualizace vašeho tréninku s PyTorch může být časově náročnější než s TensorFlow a možná se rozhodnete vizualizaci nenastavit vůbec.

Skvělá vizualizace Tensorflow z: https://stackoverflow.com/a/41370610/1514728

V tomto příspěvku vám ukážu dva způsoby, jak si můžete vizualizovat trénink modelu PyTorch při používání Google Colab. První používá nový magický příkaz Jupyter TensorBoard a druhý používá tensorboardlab knihovny. Na konci každé sekce najdete odkaz na příklad notebooku Colab.

Tensorboard Colab magic

Magické příkazy pocházejí z jádra IPythonu a jsou určeny ke stručnému řešení běžných problémů ve zpracování dat. Pohodlně nyní existuje magický příkaz TensorBoard (ujistěte se, že instalujete nejnovější sestavení TensorFlow).

# Nainstalujte nejnovější sestavení Tensorflow
! pip install -q tf-nightly-2.0-preview
ze souhrnu importu tensorflow
% load_ext tensorboard.notebook

Pak vytvořte instanci souhrnných spisovatelů. V tomto případě mám jeden pro trénink nahrávání a druhý pro testování záznamu.

current_time = str (datetime.datetime.now (). timestamp ())
train_log_dir = 'logs / tensorboard / train /' + current_time
test_log_dir = 'logs / tensorboard / test /' + current_time
train_summary_writer = summary.create_file_writer (train_log_dir)
test_summary_writer = summary.create_file_writer (test_log_dir)

A do TensorBoard můžete psát stejně jako v kódu TensorFlow. Viz řádky 24–26 níže.

Pak běžte

% tensorboard - logdir logs / tensorboard

Může trvat 5 sekund, než se TensorBoard načte a začne poslouchat protokoly složek / tensorboard. Jakmile uvidíte TensorBoard, běžte.

vlak (model, train_loader, ...)

A uvidíte něco takového:

Tensorboard běží současně s tréninkem!

Gratulujeme . Používáte PyTorch s TensorBoard v Colabu. Mějte na paměti, že by to mělo fungovat i v jakémkoli notebooku Jupyter používajícím jádro IPython, pokud instalujete nejnovější TensorFlow.

Chcete-li vidět, jak všechno funguje společně, podívejte se na tento příklad Colab notebook.

Knihovna tensorboardcolab

Druhým způsobem použití TensorBoardu s PyTorch v Colabu je knihovna tensorboardcolab. Tato knihovna funguje nezávisle na magickém příkazu TensorBoard popsaném výše.

Tento přístup je podobný magickému příkazu TensorBoard, kromě toho, že namísto spuštění TensorBoard ve vašem notebooku s koly používá ngrok k tunelu TensorBoard do localhost. Další podrobnosti naleznete v této odpovědi na přetečení zásobníku.

Abychom mohli použít tensorboardcolab, vytvoříme instanci TensorBoardColab a během tréninku do ní uložíme hodnoty.

! pip install tensorboardcolab
z tensorboardcolab import TensorBoardColab
tb = TensorBoardColab ()

Kód pro uložení do TensorBoardColab během tréninku by mohl vypadat asi takto (viz řádek 25):

Poté, když spustíte

vlak (model, train_loader, ...)

Uvidíte něco jako

Tensorboard běží na http://db797eee.ngrok.io

Když přejdete na odkaz, uvidíte řídicí panel TensorBoard, který znáte a milujete.

Tensorboard dashboard pomocí tensorboardcolab

Chcete-li vidět, jak všechno funguje společně, podívejte se na tento příklad Colab notebook.

Závěr

Tam to máte, dva způsoby, jak si představit své školení PyTorch pomocí TensorBoard a Google Colab. Pro každý z přístupů jsem vytvořil příklady notebooků Colab.

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

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

Hodně štěstí

Vedu datový tým ve společnosti Looka a používáme spoustu PyTorch a TensorFlow. Pokud máte zájem pracovat na křižovatce umělé inteligence a designu, podívejte se na naši stránku kariéry.