Error while trying to replicate a logistic regression problem using FluxML

Hi,

I have been trying to replicate the code from the following link to understand how to use ML in Julia better
https://akaysh.github.io/Logistic-Regression-with-Julia/

While replicating I realized that when I ran the following code:

data = repeated((X, y), 200)
Flux.train!(loss, data, opt, cb = evalcb)

the result was this:
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)
loss(X, y) = 0.6931471805599452 (tracked)

As you can see there is no change in the loss function.
Could anyone help me with what the problem is?

Thanks

@akaysh