def re_convert(self, device: str | "torch.device") -> None:
        """
        Re converts the weights into a dense equivalent layer.
        Must be called after every backwards if multiple gradients wish to be taken (like for crafting pgd).
        """
        self.dense_weights, self.bias = self.convert_to_dense(device)
        self.dense_weights = self.dense_weights.to(device)
        if self.bias is not None:
            self.bias = self.bias.to(device)

        Re converts the weights into a dense equivalent layer.
        Must be called after every backwards if multiple gradients wish to be taken (like for crafting pgd).
        
art/estimators/certification/interval/interval.py