Debug dei flussi di lavoro cloud di TensorFlow

Ecco alcuni suggerimenti per risolvere problemi imprevisti.

Operazione non consentita nell'ambito della strategia di distribuzione

Errore come : la creazione di un generatore all'interno di un ambito strategico non è consentita, poiché esiste ambiguità su come replicare un generatore (ad esempio, dovrebbe essere copiato in modo che ogni replica ottenga gli stessi numeri casuali o "diviso" in modo che ogni replica ottenga numeri casuali diversi) numeri).

Soluzione : il passaggio di distribution_strategy='auto' run dell'API racchiude tutto lo script in una strategia di distribuzione TF basata sulla configurazione del cluster fornita. Vedrai l'errore precedente o qualcosa di simile se per qualche motivo un'operazione non è consentita nell'ambito della strategia di distribuzione. Per correggere l'errore, passa None al parametro distribution_strategy e crea un'istanza della strategia come parte del codice di training, come mostrato in questo esempio.

Timeout per la creazione dell'immagine Docker

Errore come : request.exception.ConnectionError: ('Connessione interrotta.', timeout('L'operazione di scrittura è scaduta'))

Soluzione : la directory utilizzata come punto di ingresso probabilmente contiene troppi dati per consentire la creazione corretta dell'immagine e potrebbero essere presenti dati estranei inclusi nella creazione. Riformatta la struttura della directory in modo che la cartella che contiene il punto di ingresso includa solo i file necessari per il progetto corrente.

Versione non supportata per l'addestramento su TPU

Errore simile : si è verificato un errore durante l'invio del lavoro. Campo: tpu_tf_version Errore: la versione runtime specificata "2.3" non è supportata per l'addestramento TPU. Specificare una versione runtime diversa.

Soluzione : utilizzare la versione 2.1 di TF. Vedere Strategia TPU nella sezione Configurazione della strategia di cluster e distribuzione .

TF build notturna.

Avviso del tipo : L'immagine principale Docker '2.4.0.dev20200720' non esiste. Utilizzando l'ultima build notturna TF.

Soluzione : se non fornisci il parametro docker_config.parent_image , per impostazione predefinita utilizziamo immagini docker TF predefinite come immagine principale. Se non hai TF installato nell'ambiente in cui viene chiamato run , verrà utilizzata l'immagine docker TF per l' latest versione stabile. Altrimenti, la versione dell'immagine docker corrisponderà alla versione TF installata localmente. Tuttavia, le immagini docker TF predefinite non sono disponibili per i nightlies TF ad eccezione delle ultime. Pertanto, se il tuo TF locale è una versione Nightly precedente, aggiorneremo automaticamente all'ultima Nightly e genereremo questo avviso.

Mescolare gli oggetti della strategia di distribuzione.

Errore come : RuntimeError: miscelazione di diversi oggetti tf.distribute.Strategy.

Soluzione : fornire distribution_strategy=None quando si dispone già di una strategia di distribuzione definita nel codice del modello. Specificando distribution_strategy'='auto' , inserirai il tuo codice in una strategia di distribuzione TensorFlow. Ciò causerà l'errore precedente, se nel codice è già presente un oggetto strategia.