Well, it could work, but note that relu will clip all values to [0, +inf], which might yield constant values if you are unlucky in your initialization.
Could you post some data (e.g. 10 samples) so that I could have a look?
I just used some random values to debug your code and it worked without the last relu.