|View source on GitHub|
A training sampler that adds scheduled sampling.
Returns -1s for sample_ids where no sampling took place; valid sample id values elsewhere.
__init__( sampling_probability, embedding_fn=None, time_major=False, seed=None, scheduling_seed=None )
float320-D or 1-D tensor: the probability of sampling categorically from the output ids instead of reading directly from the inputs.
embedding_fn: A callable that takes a vector tensor of
ids(argmax ids), or the
time_major: Python bool. Whether the tensors in
inputsare time major. If
False(default), they are assumed to be batch major.
seed: The sampling seed.
scheduling_seed: The schedule decision rule sampling seed.
sampling_probabilityis not a scalar or vector.
Batch size of tensor returned by
Returns a scalar int32 tensor. The return value might not available before the invocation of initialize(), in this case, ValueError is raised.
DType of tensor returned by
Returns a DType. The return value might not available before the invocation of initialize().
Shape of tensor returned by
sample, excluding the batch dimension.
TensorShape. The return value might not available
before the invocation of initialize().
initialize( inputs, sequence_length=None, mask=None, embedding=None )
Initialize the TrainSampler.
inputs: A (structure of) input tensors.
sequence_length: An int32 vector tensor.
mask: A boolean 2D tensor.
(finished, next_inputs), a tuple of two items. The first item is a boolean vector to indicate whether the item in the batch has finished. The second item is the first slide of input data based on the timestep dimension (usually the second dim of the input).
next_inputs( time, outputs, state, sample_ids )
(finished, next_inputs, next_state).
sample( time, outputs, state )