2017-08-28 2 views
0

J'ai construit un formateur et lorsque je soumets le travail, le travail démarre et les journaux sont remplis. Mais aucune de mes sorties sur stdout n'apparaît dans le journal. Je reçois des messages comme "La bibliothèque TensorFlow n'a pas été compilée pour utiliser les instructions AVX2 ..."Exécution d'un job de formation Google Cloud ML mais pas de sortie stdout dans les journaux

Le travail entier prend environ 5 à 10 minutes sur mon ordinateur portable; Je l'ai laissé fonctionner pendant plus d'une heure sur le serveur cloud et je n'ai toujours vu aucune sortie (et la première ligne de sortie se produit presque immédiatement quand je l'exécute localement.)

Je peux exécuter mon travail localement en l'invoquant directement, mais je n'ai pas réussi à l'exécuter en utilisant la commande "gcloud local" ... quand je fais cela, j'obtiens une erreur "Aucun module nommé tensorflow"

+0

Salut Brain, pouvez-vous partager le numéro de projet et l'ID du travail avec nous via [email protected], s'il vous plaît? En ce qui concerne "Aucun module nommé tensorflow", avez-vous installé TensorFlow localement? –

+0

RE: exécution locale @Brian Avez-vous installé tensorflow-gpu ou tensorflow de vanille? – rhaertel80

Répondre

1

Le message du journal "La bibliothèque TensorFlow wasn ' t compilé pour utiliser les instructions AVX2 "indique que les messages de journal passent de TensorFlow à Cloud Logging. Il y a donc probablement un problème avec la façon dont vous avez configuré la journalisation et, par conséquent, les messages du journal ne sont pas correctement écrits dans stderr/stdout.

Cette façon la plus simple de déboguer ce serait de créer un exemple simple pour essayer de reproduire cette erreur.

Je suggérerais de créer simplement un programme python qui ne fait que consigner un message puis l'envoyer au service pour voir si un message de journal est imprimé.

Quelque chose comme le

import logging 
import time 
if __name__ == "__main__": 
    logging.getLogger().setLevel(logging.INFO) 
    # Output logs for 5 minutes. We do this for 5 minutes just to ensure 
    # the job doesn't terminate before logs can be flushed. 
    for i in range(30): 
     logging.info("This is an info message.") 
     logging.error("This is an error message.") 
     time.sleep(10) 

suivant Pour la question tensorflow l'importation lors de l'exécution s'il vous plaît localement jeter un oeil à ce SO Question qui a quelques suggestions sur la façon de vérifier le chemin Python utilisé par gcloud et vérifier qu'il comprend tensorflow .