Estimates approximate tail quantiles.

This runs a simple Adam iteration to determine tail quantiles. The objective is to find an x such that:

func(x) == target

For instance, if func is a CDF and the target is a quantile value, this would find the approximate location of that quantile. Note that func is assumed to be monotonic. When each tail estimate has passed the optimal value of x, the algorithm does 100 additional iterations and then stops.

This operation is vectorized. The tensor shape of x is given by shape, and target must have a shape that is broadcastable to the output of func(x).

func A callable that computes cumulative distribution function, survival function, or similar.
target The desired target value.
shape The shape of the tf.Tensor representing x.
dtype The tf.dtypes.Dtype of the computation (and the return value).

A tf.Tensor representing the solution (x).