tfa.seq2seq.ScheduledOutputTrainingSampler

View source on GitHub

A training sampler that adds scheduled sampling directly to outputs.

Inherits From: TrainingSampler

Returns False for sample_ids where no sampling took place; True elsewhere.

sampling_probability A float32 scalar tensor: the probability of sampling from the outputs instead of reading directly from the inputs.
time_major Python bool. Whether the tensors in inputs are 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.

ValueError if sampling_probability is not a scalar or vector.

batch_size Batch size of tensor returned by sample.

Returns a scalar int32 tensor. The return value might not available before the invocation of initialize(), in this case, ValueError is raised.

sample_ids_dtype DType of tensor returned by sample.

Returns a DType. The return value might not available before the invocation of initialize().

sample_ids_shape Shape of tensor returned by sample, excluding the batch dimension.

Returns a TensorShape. The return value might not available before the invocation of initialize().

Methods

initialize

View source

Initialize the TrainSampler.

Args
inputs A (structure of) input tensors.
sequence_length An int32 vector tensor.
mask A boolean 2D tensor.

Returns
(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

View source

Returns (finished, next_inputs, next_state).

sample

View source

Returns sample_ids.