Yes, I just tried the same and, in isolation, your example works for me, too. However, this is just a small part of my computation graph. Weirdly, the backward pass through the entire computation graph works if I replace this submodule with a conventional convolution. At the same time, the submodule itself also doesn’t seem to be the problem…
Edit: Even with DilatedCNN the backward pass through the entire graph works fine, but as soon as I switch to SplitDilatedCNN it crashes with the originally mentioned error. Are there any weird interactions between what happens inside a module and what happens before/after in the computation graph?
Edit2: Even replacing the forward pass in SplitDilatedCNN with
def forward(self, x):
        x = x.split(self.split,1)
        x = torch.cat(x,1)
        return x

throws the error. It’s super strange!
[PyTorch 0.4.0]