|View source on GitHub|
A training sampler that adds scheduled sampling directly to outputs.
Returns False for sample_ids where no sampling took place; True elsewhere.
__init__( sampling_probability, time_major=False, seed=None, next_inputs_fn=None )
float32scalar tensor: the probability of sampling from the outputs instead of reading directly from the inputs.
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.
next_inputs_fn: (Optional) callable to apply to the RNN outputs to create the next input when sampling. If
None(default), the RNN outputs will be used as the next inputs.
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, auxiliary_inputs=None )
Initialize the TrainSampler.
inputs: A (structure of) input tensors.
sequence_length: An int32 vector 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 )