Ok !
After 2h of bughunting, I found the problem and it’s a bug on our side.
From your side, you will have to use a workaround for now.
For your current code, replace the ReLU you’re using with:
class ReLU(nn.Module):
    def __init__(self, inplace=False):
        super(ReLU, self).__init__()
        self.inplace = inplace

    def forward(self, input):
        if self.inplace:
            return torch.relu_(input)
        else:
            return torch.relu(input)

And it should all be fine 
If you see the same problem again you can post here and we’ll find a way around it.
I’ll open an issue on github for the bug and edit here when it’s done.
Thanks a lot for the bug report and the repro code.