Queue storing input values and returning random previously stored ones.
tf.contrib.gan.features.tensor_pool( input_values, pool_size=50, pooling_probability=0.5, name='tensor_pool' )
Every time the returned
output_value is evaluated,
evaluated and its value either directly returned (with
1-pooling_probability) or stored in the pool and a random one of the samples
currently in the pool is popped and returned. As long as the pool in not fully
filled, the input_value is always directly returned, as well as stored in the
pool. Note during inference / testing, it may be appropriate to set
pool_size = 0 or
pooling_probability = 0.
input_values: An arbitrarily nested structure of
tf.Tensors, from which to read values to be pooled.
pool_size: An integer specifying the maximum size of the pool. Defaults to 50.
pooling_probability: A float
Tensorspecifying the probability of getting a value from the pool, as opposed to just the current input.
name: A string prefix for the name scope for all tensorflow ops.
A nested structure of
Tensor objects with the same structure as
input_values. With the given probability, the Tensor values are either the
same as in
input_values or a randomly chosen sample that was previously
inserted in the pool.