diff options
| author | YurenHao0426 <blackhao0426@gmail.com> | 2026-01-13 23:50:59 -0600 |
|---|---|---|
| committer | YurenHao0426 <blackhao0426@gmail.com> | 2026-01-13 23:50:59 -0600 |
| commit | 00cf667cee7ffacb144d5805fc7e0ef443f3583a (patch) | |
| tree | 77d20a3adaecf96bf3aff0612bdd3b5fa1a7dc7e /files/data_io/utils/visualize.py | |
| parent | c53c04aa1d6ff75cb478a9498c370baa929c74b6 (diff) | |
| parent | cd99d6b874d9d09b3bb87b8485cc787885af71f1 (diff) | |
Merge master into main
Diffstat (limited to 'files/data_io/utils/visualize.py')
| -rw-r--r-- | files/data_io/utils/visualize.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/files/data_io/utils/visualize.py b/files/data_io/utils/visualize.py new file mode 100644 index 0000000..6f0de95 --- /dev/null +++ b/files/data_io/utils/visualize.py @@ -0,0 +1,19 @@ +import matplotlib.pyplot as plt +import torch + +def plot_raster(spikes: torch.Tensor, title=None): + """ + Plot raster diagram of spike activity (T,B,N) or (T,N). + """ + s = spikes.detach().cpu() + if s.ndim == 3: + s = s[:, 0, :] # take first batch + t, n = s.shape + for i in range(n): + times = torch.nonzero(s[:, i]).squeeze().numpy() + plt.scatter(times, i * np.ones_like(times), s=2, c='black') + plt.xlabel("Time step") + plt.ylabel("Neuron index") + if title: + plt.title(title) + plt.show() |
