[PYTHON] Versuchen Sie es mit W & B.

Was ist W & B.

W&B Die Webversion der Tensorplatine. Sie können die Unterschiede auf der Online-Seite sehen und die Ergebnisse alter Experimente speichern. Dies ist eine praktische Website zum Aufzeichnen von Protokollen zum maschinellen Lernen und zum Anzeigen von Ergebnissen.

Ich werde einen Artikel schreiben, der auf die folgende Seite verweist. wandb Quickstart

installieren

Verwenden Sie pip, um die Stabb-Bibliothek zu installieren.

pip install wandb

Da es sich um eine Webanwendung handelt, ist eine Registrierung der Mitgliedschaft erforderlich. Begrenzte Kapazität, aber kostenlos für Studenten und Akademiker. Sie können sich auf der folgenden Seite registrieren. Ich kann es mit meinem Github-Account machen, also konnte ich es sofort machen.

Registrierungsseite für die Mitgliedschaft

Am Terminal der Umgebung, die als nächstes verwendet werden soll

wandb login

Dann erscheint die folgende Seite.

wandb: You can find your API key in your browser here: https://app.wandb.ai/authorize
wandb: Paste an API key from your profile and hit enter:

Beim Zugriff auf die Seite https://app.wandb.ai/authorize von einem PC mit einem registrierten Konto Es gibt einen API-Schlüssel mit ungefähr 40 Ziffern. Kopieren Sie ihn also und fügen Sie ihn bei der Eingabe ein: oben. Damit sind der Server etc. und das Webkonto verbunden.

Umschreiben des Codes

Fügen Sie zunächst den folgenden Code am Anfang hinzu.

# Inside my model training code
import wandb
wandb.init(project="my-project")

Sie können die Ergebnisse nach Projektnamen zusammenfassen.

Wenn Sie ein Argument speichern möchten, können Sie es mit der Konfigurationsmethode speichern.

wandb.config.dropout = 0.2
wandb.config.hidden_layer_size = 128

Geben Sie als nächstes den Aufzeichnungscode in die Trainingsdaten ein.

def my_train_loop():
    for epoch in range(10):
        loss = 0 # change as appropriate :)
        wandb.log({'epoch': epoch, 'loss': loss})

Normalerweise setzen Sie wandb.log ({dict}) in den Teil, in dem der Druck (Verlust) ausgeführt wird. Für die in dict übergebenen Argumente werden Diagramme erstellt.

Sie können das Lernprotokoll speichern, indem Sie den folgenden Code am Ende einfügen.

wandb.save("mymodel.h5")

Versuche dich zu bewegen

test.py


import wandb
wandb.init(project="test-project")

lr = 0.1
wandb.config.lr = lr

def my_train_loop():
    loss = 10

    for epoch in range(10):
        loss = loss * lr  # change as appropriate :)
        wandb.log({'epoch': epoch, 'loss': loss})
    wandb.save("mymodel.h5")


def main():
    my_train_loop()

if __name__ == "__main__":
    main()

Führen Sie den obigen Code und aus Wenn Sie auf die W & B-Seite zugreifen,

スクリーンショット 2020-01-30 15.24.14.png

Sie können den Übergang des Verlustes so bekommen. Der Grund, warum es eine Epoche gibt, ist im Grunde, dass die horizontale Achse die Anzahl der Schritte ist. Durch Aufzeichnen der Epoche als horizontale Achse beim Erstellen eines Diagramms スクリーンショット 2020-01-30 15.27.21.png Auf diese Weise können Sie Diagramme wie Epoche oder Verlust erstellen.

Der zur Konfiguration hinzugefügte lr wird ebenfalls aufgezeichnet, was bei der Wiedergabe hilfreich ist. スクリーンショット 2020-01-30 15.30.01.png

Es ist einfach.

Eigentlich ist es der zweite Tag, seit ich es berührt habe, aber es gibt nicht viel Code hinzuzufügen, und es ist schnell, ein Diagramm zu erhalten. Durch Aufzeichnen im Web können Sie die Ergebnisse auch auf verschiedenen Servern in einem sammeln und speichern. Versuch es bitte!

Recommended Posts

Versuchen Sie es mit W & B.
Versuchen Sie es mit Tkinter
Versuchen Sie es mit Docker-Py
Versuchen Sie es mit einem Ausstecher
Versuchen Sie es mit Geopandas
Versuchen Sie es mit Selen
Versuchen Sie es mit scipy
Versuchen Sie es mit pandas.DataFrame
Versuchen Sie es mit Django-Swiftbrowser
Versuchen Sie es mit matplotlib
Versuchen Sie es mit tf.metrics
Versuchen Sie es mit PyODE
Versuchen Sie es mit virtualenv (virtualenvwrapper)
Versuchen Sie es jetzt mit virtualenv
Versuchen Sie es mit Django templates.html
[Kaggle] Versuchen Sie es mit LGBM
Versuchen Sie es mit dem Feed-Parser von Python.
Versuchen Sie es mit Pythons Tkinter
Versuchen Sie es mit Tweepy [Python2.7]
Versuchen Sie es mit Pytorchs collate_fn
Versuchen Sie, PythonTex mit Texpad zu verwenden.
[Python] Versuchen Sie, Tkinters Leinwand zu verwenden
Versuchen Sie es mit Jupyters Docker-Image
Versuchen Sie es mit Scikit-Learn (1) - K-Clustering nach Durchschnittsmethode
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie es mit Azure Logic Apps
Versuchen Sie es mit Kubernetes Client -Python-
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit OpenCV unter Windows
Versuchen Sie, Jupyter Notebook dynamisch zu verwenden
Versuchen Sie es mit AWS SageMaker Studio
Versuchen Sie, automatisch mit Selen zu twittern.
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 1)
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Versuchen Sie es mit der Vorlagenfunktion von Django
Versuchen Sie es mit der PeeringDB 2.0-API
Versuchen Sie es mit der Entwurfsfunktion von Pelican
Versuchen Sie es mit pytest-Overview und Samples-
Versuchen Sie es mit Folium mit Anakonda
Versuchen Sie es mit der Admin-API von Janus Gateway
Versuchen Sie es mit Spyder, das in Anaconda enthalten ist
Versuchen Sie es mit Designmustern (Exporter Edition)
Versuchen Sie es mit Pillow auf iPython (Teil 1)
Versuchen Sie es mit Pillow auf iPython (Teil 2)
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen Sie, Nagios mit pynag zu konfigurieren
Versuchen Sie, die Remote-Debugging-Funktion von PyCharm zu verwenden
Versuchen Sie es mit ArUco mit Raspberry Pi
Versuchen Sie es mit billigem LiDAR (Camsense X1)
[Sakura-Mietserver] Versuchen Sie es mit einer Flasche.
Versuchen Sie es mit Pillow auf iPython (Teil 3).
Stärkung des Lernens 8 Versuchen Sie, die Chainer-Benutzeroberfläche zu verwenden
Versuchen Sie, Statistiken mit e-Stat abzurufen
Versuchen Sie es mit der Aktions-API von Python argparse
Versuchen Sie es mit dem Python Cmd-Modul
Versuchen Sie, Pythons networkx mit AtCoder zu verwenden
Versuchen Sie es mit LeapMotion mit Python
Versuchen Sie es mit der handgeschriebenen Zeichenerkennung (OCR) von GCP.
Versuchen Sie es mit Amazon DynamoDB von Python