AllCandidateSampler

public final class AllCandidateSampler

Generates labels for candidate sampling with a learned unigram distribution.

See explanations of candidate sampling and the data formats at go/candidate-sampling.

For each batch, this op picks a single set of sampled candidate labels.

The advantages of sampling candidates per-batch are simplicity and the possibility of efficient dense matrix multiplication. The disadvantage is that the sampled candidates must be chosen independently of the context and of the true labels.

Nested Classes

class AllCandidateSampler.Options Optional attributes for AllCandidateSampler

Constants

String OP_NAME The name of this op, as known by TensorFlow core engine

Public Methods

static AllCandidateSampler
create ( Scope scope, Operand < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean unique, Options... options)
Factory method to create a class wrapping a new AllCandidateSampler operation.
Output < TInt64 >
sampledCandidates ()
A vector of length num_sampled, in which each element is the ID of a sampled candidate.
Output < TFloat32 >
sampledExpectedCount ()
A vector of length num_sampled, for each sampled candidate representing the number of times the candidate is expected to occur in a batch of sampled candidates.
static AllCandidateSampler.Options
seed (Long seed)
static AllCandidateSampler.Options
seed2 (Long seed2)
Output < TFloat32 >
trueExpectedCount ()
A batch_size * num_true matrix, representing the number of times each candidate is expected to occur in a batch of sampled candidates.

Inherited Methods

Constants

public static final String OP_NAME

The name of this op, as known by TensorFlow core engine

Constant Value: "AllCandidateSampler"

Public Methods

public static AllCandidateSampler create ( Scope scope, Operand < TInt64 > trueClasses, Long numTrue, Long numSampled, Boolean unique, Options... options)

Factory method to create a class wrapping a new AllCandidateSampler operation.

Parameters
scope current scope
trueClasses A batch_size * num_true matrix, in which each row contains the IDs of the num_true target_classes in the corresponding original label.
numTrue Number of true labels per context.
numSampled Number of candidates to produce.
unique If unique is true, we sample with rejection, so that all sampled candidates in a batch are unique. This requires some approximation to estimate the post-rejection sampling probabilities.
options carries optional attributes values
Returns
  • a new instance of AllCandidateSampler

public Output < TInt64 > sampledCandidates ()

A vector of length num_sampled, in which each element is the ID of a sampled candidate.

public Output < TFloat32 > sampledExpectedCount ()

A vector of length num_sampled, for each sampled candidate representing the number of times the candidate is expected to occur in a batch of sampled candidates. If unique=true, then this is a probability.

public static AllCandidateSampler.Options seed (Long seed)

Parameters
seed If either seed or seed2 are set to be non-zero, the random number generator is seeded by the given seed. Otherwise, it is seeded by a random seed.

public static AllCandidateSampler.Options seed2 (Long seed2)

Parameters
seed2 An second seed to avoid seed collision.

public Output < TFloat32 > trueExpectedCount ()

A batch_size * num_true matrix, representing the number of times each candidate is expected to occur in a batch of sampled candidates. If unique=true, then this is a probability.