Flux vs Knet for research and production

For me, KNet.jl is like the early PyTorch. As long as you use the given building block everything works. It is more limited, but more well defined.
So when you say research, if you can use the given building blocks, then it suits you. If you need total freedom, it is less.

I think you can see it from the design goals and choices of each project.
By the way, if I remember correctly, Avalon.jl has the same approach as KNet.jl in that reagrd.