Skip to content

Send the two tonic bug reports upstream #41

Description

@w4ffl35

Two bugs in tonic were found while adding an audio reference checkpoint. Drafts are written and sitting in plans/upstream/; they have not been filed.

1. tonic-hsd-float16-timestamps.md — the serious one. SHD and SSC store spikes/times as float16, and HSD.__getitem__ scales by 1e6. Under NumPy 2's NEP 50 promotion the multiply stays in float16, where 1e6 does not fit — so the scale factor becomes inf, every product is inf or NaN, and the cast to int64 yields INT64_MIN for every timestamp in every sample. Downstream binning then collapses the whole recording into one time step, so a spiking network trains on a single static frame and reports a plausible accuracy.

SHD and SSC are the standard spiking-audio benchmarks and temporal structure is the entire point of using them. Anyone who trained on them through tonic on NumPy 2 may have single-bin data and not know. The fix is one line (np.asarray(..., dtype=np.float64)), and the draft carries a copy-pasteable reproduction plus the before/after bin distributions.

2. tonic-nmnist-dead-download-url.md. The pinned Mendeley URLs for N-MNIST return HTTP 404, so the dataset cannot be fetched on a cold cache. Also notes that the figshare-hosted DVS datasets answer HTTP 202 with an empty body, which tonic reports as "File not found or corrupted" — accurate but it sends people hunting for a cache problem they do not have.

Keep each draft in plans/upstream/ after filing and add the issue link to the table in its README, so the evidence stays next to the report.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions