I have two tensors, `A`

and `B`

, and the values at corresponding indices `A[i][j]`

and `B[i][j]`

parametrize a distribution ( `Kpdf`

below). I’d like to, for every index, generate `n_samples`

samples (see `samples`

, which are generated from `noise`

using `T_`

) and calculate a statistic ( `kl_`

). Then I want to sum up all of these statistics and return the result.

Is there a good way to do this? Here is the code I have so far:

```
eps = 1e-12
T_ = lambda x, a, b: torch.pow(1 - torch.pow(1-x,1/b), 1/a)
Kpdf = lambda x, a, b: a * b * torch.pow(x,a-1) * torch.pow((1-torch.pow(x,a)), b-1)
kl = torch.tensor([0.0], dtype=torch.float, requires_grad=True).to(A.device)
for i in range(A.shape[0]):
for j in range(A.shape[1]):
a = A[i][j]
b = B[i][j]
noise = torch.FloatTensor(n_samples).uniform_(0, 1).to(A.device)
samples = T_(noise, a, b)
kl_ = torch.log(Kpdf(samples, a, b)/(eps + prior(samples)))
kl = kl + kl_.sum()
return kl
```