def _flatten_tensors(self, x): if torch.is_tensor(x): return x.view(-1) elif isinstance(x, Variable): return x.data.view(-1) else: return tuple(self._flatten_tensors(a) for a in x)