Débogage des workflows cloud TensorFlow

Voici quelques conseils pour résoudre les problèmes inattendus.

Opération interdite dans le cadre de la stratégie de distribution

Erreur du type : La création d'un générateur dans le cadre d'une stratégie est interdite, car il existe une ambiguïté sur la manière de répliquer un générateur (par exemple, doit-il être copié pour que chaque réplique reçoive les mêmes nombres aléatoires, ou "divisé" pour que chaque réplique reçoive des nombres aléatoires différents) Nombres).

Solution : Passer distribution_strategy='auto' pour run l'API encapsule tout votre script dans une stratégie de distribution TF basée sur la configuration du cluster fournie. Vous verrez l'erreur ci-dessus ou quelque chose de similaire si, pour une raison quelconque, une opération n'est pas autorisée dans le cadre de la stratégie de distribution. Pour corriger l'erreur, veuillez transmettre None au paramètre distribution_strategy et créer une instance de stratégie dans le cadre de votre code de formation, comme indiqué dans cet exemple.

Délai d'expiration de la création de l'image Docker

Erreur comme : request.exceptions.ConnectionError : ('Connexion interrompue.', timeout('L'opération d'écriture a expiré'))

Solution : le répertoire utilisé comme point d'entrée contient probablement trop de données pour que l'image puisse être construite avec succès, et des données superflues peuvent être incluses dans la construction. Reformatez votre structure de répertoires de telle sorte que le dossier qui contient le point d'entrée ne contienne que les fichiers nécessaires au projet en cours.

Version non prise en charge pour la formation TPU

Erreur du type : Une erreur s'est produite lors de la soumission du travail. Champ : tpu_tf_version Erreur : La version d'exécution spécifiée "2.3" n'est pas prise en charge pour la formation TPU. Veuillez spécifier une autre version d'exécution.

Solution : Veuillez utiliser TF version 2.1. Voir Stratégie TPU dans la section Configuration de la stratégie de cluster et de distribution .

Construction nocturne TF.

Avertissement du type : L'image parent Docker '2.4.0.dev20200720' n'existe pas. Utilisation de la dernière version nocturne de TF.

Solution : Si vous ne fournissez pas le paramètre docker_config.parent_image , nous utilisons par défaut des images Docker TF prédéfinies comme image parent. Si TF n'est pas installé sur l'environnement dans lequel run est appelé, l'image Docker TF de la latest version stable sera utilisée. Sinon, la version de l'image Docker correspondra à la version TF installée localement. Cependant, les images Docker TF prédéfinies ne sont pas disponibles pour les nocturnes TF, à l'exception des dernières. Ainsi, si votre TF local est une ancienne version nocturne, nous mettons automatiquement à niveau vers la dernière version nocturne et émettons cet avertissement.

Mélange d'objets de stratégie de distribution.

Erreur comme : RuntimeError : Mélange de différents objets tf.distribute.Strategy.

Solution : veuillez fournir distribution_strategy=None lorsque vous avez déjà une stratégie de distribution définie dans votre code de modèle. Spécifier distribution_strategy'='auto' , encapsulera votre code dans une stratégie de distribution TensorFlow. Cela provoquera l'erreur ci-dessus si un objet de stratégie est déjà utilisé dans votre code.