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

tf.nn.sampled_softmax_loss

Tensorflow 1 versione Visualizza sorgente su GitHub

Calcola e restituisce la perdita di formazione SoftMax campionato.

Questo è un modo più veloce per addestrare un classificatore softmax su un enorme numero di classi.

Questa operazione è solo per la formazione. In genere è una sottostima della perdita SoftMax pieno.

Un caso d'uso comune è quello di utilizzare questo metodo per la formazione, e calcolare la perdita sigma completo per la valutazione o deduzione, come nel seguente esempio:

 if mode == "train":
  loss = tf.nn.sampled_softmax_loss(
      weights=weights,
      biases=biases,
      labels=labels,
      inputs=inputs,
      ...)
elif mode == "eval":
  logits = tf.matmul(inputs, tf.transpose(weights))
  logits = tf.nn.bias_add(logits, biases)
  labels_one_hot = tf.one_hot(labels, n_classes)
  loss = tf.nn.softmax_cross_entropy_with_logits(
      labels=labels_one_hot,
      logits=logits)
 

Vedere il nostro candidato di campionamento Algoritmi di riferimento

Vedere anche la sezione 3 del Jean et al., 2014 ( pdf ) per la matematica.

weights Un Tensor di forma [num_classes, dim] , o un elenco di Tensor oggetti cui concatenazione lungo dimensione 0 ha forma [num_classes, dim]. I (possibilmente-sharded) incastri classe.
biases Un Tensor di forma [num_classes] . I pregiudizi di classe.
labels Un Tensor di tipo int64 e della forma [batch_size, num_true] . Le classi di destinazione. Il presente modello differisce dalla labels argomento nn.softmax_cross_entropy_with_logits .
inputs Un Tensor di forma [batch_size, dim] . Le attivazioni in avanti della rete di ingresso.
num_sampled Un int . Il numero di classi per casualmente campione per partita.
num_classes Un int . Il numero di possibili classi.
num_true Un int . Il numero di classi di destinazione per esempio la formazione.
sampled_values una tupla di ( sampled_candidates , true_expected_count , sampled_expected_count ) restituiti da un *_candidate_sampler funzione. (Se nessuno, abbiamo di default a log_uniform_candidate_sampler )
remove_accidental_hits Un bool . se rimuovere "colpi accidentali" dove una classe campionata è uguale a una delle classi di destinazione. Il valore predefinito è True.
seed seme casuale per il campionamento candidato. Predefinito a None, che non impostare il seme casuale a livello op per il campionamento candidato.
name Un nome per l'operazione (opzionale).

A batch_size 1-D tensore di perdite SoftMax per-esempio nel campione.