I am trying to compute the Inception core for my GAN network.

but i have observed something very interesting. Why are we using only `X`

for the calculation i taught KL divergence was suppose to use two variables main distribution `P(x)`

and predicted Model `Q(x)`

.

```
def inception_score(X):
kl = X * ((X + eps).log() - (X.mean(0) + eps).log().expand_as(X))
score = np.exp(kl.sum(1).mean())
return score
```

but it looks like the KL divergence is between `X`

and its mean `X.mean(0)`

i.e if `X`

is the the generated image, then whatâ€™s actually going on?