Beispiel #1
0
    def _ComputeSampledLogitsTF(self,
                                weights,
                                biases,
                                hidden_acts,
                                labels,
                                num_sampled,
                                num_classes,
                                num_true,
                                sampled_vals,
                                subtract_log_q,
                                remove_accidental_hits,
                                name="sampled_loss_TF"):
        # Should be called from within a `with test_session():` block
        weights_tf = constant_op.constant(weights)
        biases_tf = constant_op.constant(biases)
        hidden_acts_tf = constant_op.constant(hidden_acts,
                                              shape=(self._batch_size,
                                                     self._dim))
        labels_tf = constant_op.constant(labels,
                                         dtype=types.int64,
                                         shape=(self._batch_size, num_true))

        pred_logits_tf, pred_labels_tf = nn._compute_sampled_logits(
            weights_tf,
            biases_tf,
            hidden_acts_tf,
            labels_tf,
            num_sampled,
            num_classes,
            num_true,
            sampled_vals,
            subtract_log_q=subtract_log_q,
            remove_accidental_hits=remove_accidental_hits,
            name=name)
        return pred_logits_tf, pred_labels_tf
Beispiel #2
0
def sampled_sigmoid_loss(weights,
                         biases,
                         inputs,
                         labels,
                         num_sampled,
                         num_classes,
                         num_true=2,
                         sampled_values=None,
                         remove_accidental_hits=True,
                         partition_strategy="mod",
                         name="sampled_softmax_loss"):
    logits, labels = _compute_sampled_logits(
        weights,
        biases,
        inputs,
        labels,
        num_sampled,
        num_classes,
        num_true=num_true,
        sampled_values=sampled_values,
        subtract_log_q=True,
        remove_accidental_hits=remove_accidental_hits,
        partition_strategy=partition_strategy,
        name=name)
    sampled_losses = nn_ops.sigmoid_cross_entropy_with_logits(logits, labels)
    return sampled_losses
Beispiel #3
0
  def _ComputeSampledLogitsTF(self, weights, biases, hidden_acts, labels,
                              num_sampled, num_classes, num_true, sampled_vals,
                              subtract_log_q, remove_accidental_hits,
                              name="sampled_loss_TF"):
    # Should be called from within a `with test_session():` block
    weights_tf = constant_op.constant(weights)
    biases_tf = constant_op.constant(biases)
    hidden_acts_tf = constant_op.constant(hidden_acts,
                                          shape=(self._batch_size, self._dim))
    labels_tf = constant_op.constant(labels, dtype=types.int64,
                                     shape=(self._batch_size, num_true))

    pred_logits_tf, pred_labels_tf = nn._compute_sampled_logits(
        weights_tf, biases_tf, hidden_acts_tf, labels_tf, num_sampled,
        num_classes, num_true, sampled_vals,
        subtract_log_q=subtract_log_q,
        remove_accidental_hits=remove_accidental_hits,
        name=name)
    return pred_logits_tf, pred_labels_tf