(self, layer)
| 13 | class SparseGPT: |
| 14 | |
| 15 | def __init__(self, layer): |
| 16 | self.layer = layer |
| 17 | self.dev = self.layer.weight.device |
| 18 | W = layer.weight.data.clone() |
| 19 | if isinstance(self.layer, nn.Conv2d): |
| 20 | W = W.flatten(1) |
| 21 | if isinstance(self.layer, transformers.Conv1D): |
| 22 | W = W.t() |
| 23 | self.rows = W.shape[0] |
| 24 | self.columns = W.shape[1] |
| 25 | self.H = torch.zeros((self.columns, self.columns), device=self.dev) |
| 26 | self.nsamples = 0 |
| 27 | |
| 28 | def add_batch(self, inp, out): |
| 29 | if len(inp.shape) == 2: |
nothing calls this directly
no outgoing calls
no test coverage detected