Sets mini-batch size. Called when layer is added to a network. :param batch_size: Mini-batch size.
(self, batch_size)
| 1485 | ) # Adaptive threshold decay (per timestep). |
| 1486 | |
| 1487 | def set_batch_size(self, batch_size) -> None: |
| 1488 | # language=rst |
| 1489 | """ |
| 1490 | Sets mini-batch size. Called when layer is added to a network. |
| 1491 | |
| 1492 | :param batch_size: Mini-batch size. |
| 1493 | """ |
| 1494 | super().set_batch_size(batch_size=batch_size) |
| 1495 | self.v = self.rest * torch.ones(batch_size, *self.shape, device=self.v.device) |
| 1496 | self.last_spikes = torch.zeros(batch_size, self.ref_window_size, *self.shape) |
| 1497 | |
| 1498 | resKernels = { |
| 1499 | "AlphaKernel": self.AlphaKernel, |
| 1500 | "AlphaKernelSLAYER": self.AlphaKernelSLAYER, |
| 1501 | "LaplacianKernel": self.LaplacianKernel, |
| 1502 | "ExponentialKernel": self.ExponentialKernel, |
| 1503 | "RectangularKernel": self.RectangularKernel, |
| 1504 | "TriangularKernel": self.TriangularKernel, |
| 1505 | } |
| 1506 | |
| 1507 | if self.responseKernel not in resKernels.keys(): |
| 1508 | raise Exception(" The given response Kernel is not implemented") |
| 1509 | |
| 1510 | self.resKernel = resKernels[self.responseKernel](self.dt) |
| 1511 | |
| 1512 | refKernels = {"EtaKernel": self.EtaKernel} |
| 1513 | |
| 1514 | if self.refractoryKernel not in refKernels.keys(): |
| 1515 | raise Exception(" The given refractory Kernel is not implemented") |
| 1516 | |
| 1517 | self.refKernel = refKernels[self.refractoryKernel](self.dt) |
| 1518 | |
| 1519 | def AlphaKernel(self, dt): |
| 1520 | t = torch.arange(0, self.res_window_size, dt) |
nothing calls this directly
no test coverage detected