Helper to csiszar_vimco; computes log_avg_u, log_sooavg_u. (deprecated)

axis = 0 of logu is presumed to correspond to iid samples from q, i.e.,

logu[j] = log(u[j])
u[j] = p(x, h[j]) / q(h[j] | x)
h[j] iid~ q(H | x)


  • logu: Floating-type Tensor representing log(p(x, h) / q(h | x)).
  • name: Python str name prefixed to Ops created by this function.


  • log_avg_u: logu.dtype Tensor corresponding to the natural-log of the average of u. The sum of the gradient of log_avg_u is 1.
  • log_sooavg_u: logu.dtype Tensor characterized by the natural-log of the average of uexcept that the average swaps-outu[i]for the leave-i-out Geometric-average. The mean of the gradient oflog_sooavg_uis1. Mathematicallylog_sooavg_u` is,
log_sooavg_u[i] = log(Avg{h[j ; i] : j=0, ..., m-1})
h[j ; i] = { u[j]                              j!=i
           { GeometricAverage{u[k] : k != i}   j==i