######################################################################
-# START_LOG_PROBA
def LogProba(x, ldj):
log_p = ldj - 0.5 * (x**2 + math.log(2*pi))
return log_p
-# END_LOG_PROBA
######################################################################
-# START_MODEL
class PiecewiseLinear(nn.Module):
def __init__(self, nb, xmin, xmax):
super().__init__()
a = (u - n).clamp(0, 1)
x = (1 - a) * y[n] + a * y[n + 1]
return x
-# END_MODEL
def invert(self, y):
ys = self.alpha + self.xi.exp().cumsum(0).view(1, -1)
for k in range(nb_epochs):
acc_loss = 0
-# START_OPTIMIZATION
for input in train_input.split(batch_size):
input.requires_grad_()
output = model(input)
optimizer.zero_grad()
loss.backward()
optimizer.step()
-# END_OPTIMIZATION
acc_loss += loss.item()
if k%10 == 0: print(k, loss.item())