2017-07-13 3 views
3

J'ai actuellement la configuration de Google Cloud ML Engine pour former des modèles créés dans Keras. Lors de l'utilisation de Keras, il semble que ML Engine n'enregistre pas automatiquement les journaux dans un compartiment de stockage. Je vois les journaux dans la page ML Engine Jobs mais ils ne s'affichent pas dans mon compartiment de stockage et je suis donc incapable d'exécuter tensorboard pendant l'entraînement.Tensorboard + Keras + ML Engine

Vous pouvez voir le travail terminé avec succès et produit des journaux: enter image description here

Mais il n'y a pas de journaux enregistrés dans mon seau de stockage: enter image description here

J'ai suivi ce tutoriel lors de la création de mon environnement: (http://liufuyang.github.io/2017/04/02/just-another-tensorflow-beginner-guide-4.html) Alors, comment puis-je obtenir les journaux et exécuter tensorboard lors de l'entraînement d'un modèle Keras sur ML Engine? Est-ce que quelqu'un d'autre a eu du succès avec ça?

Répondre

5

Vous devez créer un rappel keras.callbacks.TensorBoard (..) afin d'écrire les journaux. Voir Tensorboad callback. Vous pouvez également fournir le chemin GCS (gs: // path/to/my/logs) dans l'argument log_dir du rappel, puis pointer Tensorboard vers cet emplacement. Vous allez ajouter le rappel en tant que liste lors de l'appel de model.fit_generator (...) ou de model.fit (...).

tb_logs = callbacks.TensorBoard(
      log_dir='gs://path/to/logs', 
      histogram_freq=0, 
      write_graph=True, 
      embeddings_freq=0) 

model.fit_generator(..., callbacks=[tb_logs]) 
+0

Impressionnant! Cela a totalement fonctionné. J'utilisais le rappel Tensorboard mais je ne m'étais pas rendu compte que je pouvais y mettre un chemin GCS. – hellowill89