W&B La version Web de la carte tensorielle. Vous pouvez voir les différences sur la page en ligne, et vous pouvez également enregistrer les résultats d'anciens tests. Il s'agit d'un site pratique pour enregistrer les journaux d'apprentissage automatique et afficher les résultats.
J'écrirai un article faisant référence à la page suivante. wandb Quickstart
Utilisez pip pour installer la bibliothèque wandb.
pip install wandb
Puisqu'il s'agit d'une application Web, l'inscription des membres est requise. Capacité limitée, mais gratuit pour les étudiants et les universitaires. Vous pouvez vous inscrire à partir de la page suivante. Je peux le faire avec mon compte github, donc j'ai pu le faire tout de suite.
Page d'inscription des membres
Au terminal de l'environnement à utiliser ensuite
wandb login
Ensuite, la page suivante apparaîtra.
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:
Lors de l'accès à la page https://app.wandb.ai/authorize à partir d'un PC avec un compte enregistré Il existe une clé API d'environ 40 chiffres, alors copiez-la et collez-la à enter: ci-dessus. Avec cela, le serveur, etc. et le compte Web sont liés.
Tout d'abord, ajoutez le code suivant au début.
# Inside my model training code
import wandb
wandb.init(project="my-project")
Vous pouvez résumer les résultats par nom de projet.
S'il y a un argument que vous souhaitez enregistrer, vous pouvez le sauvegarder avec la méthode config.
wandb.config.dropout = 0.2
wandb.config.hidden_layer_size = 128
Ensuite, entrez le code d'enregistrement dans les données d'entraînement.
def my_train_loop():
for epoch in range(10):
loss = 0 # change as appropriate :)
wandb.log({'epoch': epoch, 'loss': loss})
Normalement, placez wandb.log ({dict}) dans la partie où l'impression (perte) est effectuée. Des graphiques sont créés pour les arguments passés dans dict.
Vous pouvez enregistrer le journal d'apprentissage en mettant le code suivant à la fin.
wandb.save("mymodel.h5")
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()
Exécutez le code ci-dessus et Lorsque vous accédez à la page W & B,
Vous pouvez obtenir la transition de la perte comme ça. La raison pour laquelle il existe une époque est essentiellement que l'axe horizontal est le nombre de pas. Par conséquent, en enregistrant l'époque comme axe horizontal lors de la création d'un graphique, De cette façon, vous pouvez créer des graphiques tels que époque vs perte.
Le lr ajouté à la configuration est également enregistré, ce qui est utile lors de la reproduction.
En fait, cela fait le deuxième jour que je l'ai touché, mais il n'y a pas beaucoup de code à ajouter et il est rapide de créer un graphique. De plus, en enregistrant sur le Web, vous pouvez collecter et stocker les résultats sur différents serveurs en un seul. Essayez-le!
Recommended Posts