I don’t see a problem. The model might be a bit too shallow.
If I change the model to
Flux.Chain(
Flux.Dense(1, hidden, Flux.elu),
Flux.Dense(hidden, hidden, Flux.elu),
Flux.Dense(hidden, hidden, Flux.elu),
Flux.Dense(hidden, 1)
)
I get a nice fit after 3000 epochs. Not sure how shallow / how few epochs are the minimum.