Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

tf.keras.losses.Reduction

Visualizza sorgente su GitHub

Tipi di riduzione delle perdite.

Contiene i seguenti valori:

  • AUTO : indica che l'opzione riduzione sarà determinato dal contesto d'uso. Per quasi tutti i casi le impostazioni di default SUM_OVER_BATCH_SIZE . Quando viene utilizzato con tf.distribute.Strategy , al di fuori di built-in di formazione loop come tf.keras compile e fit , ci aspettiamo che il valore di riduzione da SUM o NONE . Utilizzando AUTO in questo caso genera un errore.
  • NONE ponderato perdite con una dimensione ridotta (asse = -1, o asse specificato dalla funzione di perdita). Quando questo tipo di riduzione utilizzato con built-in cicli di formazione Keras come fit / evaluate , la perdita vettore non ridotto è passata al ottimizzatore ma la perdita riportata sarà un valore scalare.
  • SUM : somma scalare delle perdite ponderate.
  • SUM_OVER_BATCH_SIZE : scalare SUM diviso per il numero di elementi in perdite. Questo tipo di riduzione non è supportato quando viene utilizzato con tf.distribute.Strategy al di fuori di built-in cicli di formazione come tf.keras compile / fit .

    È possibile implementare 'SUM_OVER_BATCH_SIZE' con dimensioni dei lotti globale come:

 with strategy.scope():
  loss_obj = tf.keras.losses.CategoricalCrossentropy(
      reduction=tf.keras.losses.Reduction.NONE)
  ....
  loss = tf.reduce_sum(loss_object(labels, predictions)) *
      (1. / global_batch_size)
 

Si prega di consultare la guida di formazione personalizzato
per maggiori dettagli su questo.

metodi

all

Vedi la fonte

validate

Vedi la fonte

variabili di classe

  • AUTO = 'auto'
  • NONE = 'none'
  • SUM = 'sum'
  • SUM_OVER_BATCH_SIZE = 'sum_over_batch_size'