sinabs 3.0.4.dev2__tar.gz → 3.0.4.dev25__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/.github/workflows/ci-pipeline.yml +15 -8
  2. sinabs-3.0.4.dev25/PKG-INFO +106 -0
  3. sinabs-3.0.4.dev2/ChangeLog → sinabs-3.0.4.dev25/docs/about/release_notes.md +69 -83
  4. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/pull_request_template.md +1 -1
  5. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/discretize.py +0 -1
  6. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/dynapcnn_network.py +0 -1
  7. sinabs-3.0.4.dev25/sinabs.egg-info/PKG-INFO +106 -0
  8. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs.egg-info/SOURCES.txt +0 -3
  9. sinabs-3.0.4.dev25/sinabs.egg-info/pbr.json +1 -0
  10. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_copy.py +0 -2
  11. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_discover_device.py +0 -1
  12. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_large_net.py +0 -4
  13. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_hooks.py +5 -6
  14. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_alif.py +1 -1
  15. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_iaf.py +2 -2
  16. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_lif.py +3 -3
  17. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_synops_counter.py +1 -1
  18. sinabs-3.0.4.dev2/PKG-INFO +0 -89
  19. sinabs-3.0.4.dev2/Pipfile +0 -17
  20. sinabs-3.0.4.dev2/Pipfile.lock +0 -411
  21. sinabs-3.0.4.dev2/docs/about/release_notes.md +0 -25
  22. sinabs-3.0.4.dev2/sinabs.egg-info/PKG-INFO +0 -89
  23. sinabs-3.0.4.dev2/sinabs.egg-info/pbr.json +0 -1
  24. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/.coveragerc +0 -0
  25. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/.pre-commit-config.yaml +0 -0
  26. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/.readthedocs.yaml +0 -0
  27. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/AUTHORS +0 -0
  28. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/CITATION.cff +0 -0
  29. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/LICENSE +0 -0
  30. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/README.md +0 -0
  31. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/codecov.yml +0 -0
  32. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/Makefile +0 -0
  33. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/Overview/dataflow_layers.png +0 -0
  34. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/Overview/event_preprocessing_pipeline.png +0 -0
  35. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/Overview/memory_constraints.png +0 -0
  36. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/Overview/sinabs-dynapcnn-role.png +0 -0
  37. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/Overview/speck_dynapcnn.png +0 -0
  38. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/Overview/speck_top_level.png +0 -0
  39. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/devkits_images/dynapcnn_devkit.png +0 -0
  40. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/devkits_images/speck_devkit.png +0 -0
  41. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/devkits_images/speck_module.png +0 -0
  42. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/devkits_images/speck_module_devkit.png +0 -0
  43. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/nmnist_quick_start/dvs_input_flow.png +0 -0
  44. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/nmnist_quick_start/dynapcnn_visualizer.png +0 -0
  45. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/nmnist_quick_start/spike_input_flow.png +0 -0
  46. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/power_monitoring/dynamic_power_samna_graph.png +0 -0
  47. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/power_monitoring/idle_power_samna_graph.png +0 -0
  48. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/power_monitoring/power_plot.png +0 -0
  49. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/sinabs-logo-lowercase-whitebg.png +0 -0
  50. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/sinabs-logo-lowercase.png +0 -0
  51. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/tips_for_training/exceeding_bandwidth.png +0 -0
  52. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/using_readout_layer/handcraft_weights.png +0 -0
  53. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/using_readout_layer/neuron_id_mismatch.png +0 -0
  54. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/using_readout_layer/readout_layer.png +0 -0
  55. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/using_readout_layer/samna_graph.png +0 -0
  56. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/visualize_speck_dvs/samna_graph.png +0 -0
  57. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/visualize_spike_count/samna_graph.png +0 -0
  58. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_static/visualize_spike_count/spike_count.png +0 -0
  59. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_templates/class_activation.rst +0 -0
  60. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/_templates/class_layer.rst +0 -0
  61. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/about/about.rst +0 -0
  62. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/about/contributing.md +0 -0
  63. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/about/differences.md +0 -0
  64. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/about/info.md +0 -0
  65. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/activation.rst +0 -0
  66. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/api.rst +0 -0
  67. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/from_torch.rst +0 -0
  68. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/hooks.rst +0 -0
  69. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/layers.rst +0 -0
  70. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/network.rst +0 -0
  71. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/nir.rst +0 -0
  72. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/synopcounter.rst +0 -0
  73. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/api/utils.rst +0 -0
  74. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/conf.py +0 -0
  75. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/contact.md +0 -0
  76. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/README.rst +0 -0
  77. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/layers/README.rst +0 -0
  78. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/layers/plot_alif.py +0 -0
  79. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/layers/plot_exp_leaky.py +0 -0
  80. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/layers/plot_iaf.py +0 -0
  81. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/layers/plot_lif.py +0 -0
  82. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/layers/utils.py +0 -0
  83. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/spike_fns/README.rst +0 -0
  84. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/spike_fns/plot_maxspike.py +0 -0
  85. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/spike_fns/plot_multispike.py +0 -0
  86. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/spike_fns/plot_singlespike.py +0 -0
  87. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/surrogate_grad_fns/README.rst +0 -0
  88. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/surrogate_grad_fns/plot_gaussian.py +0 -0
  89. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/surrogate_grad_fns/plot_heaviside.py +0 -0
  90. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/surrogate_grad_fns/plot_multigaussian.py +0 -0
  91. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/surrogate_grad_fns/plot_periodicexponential.py +0 -0
  92. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/gallery/surrogate_grad_fns/plot_singleexponential.py +0 -0
  93. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/getting_started/fundamentals.rst +0 -0
  94. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/getting_started/getting_started.rst +0 -0
  95. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/getting_started/iaf_neuron_model.ipynb +0 -0
  96. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/getting_started/install.rst +0 -0
  97. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/getting_started/python_pyenv_pipenv.rst +0 -0
  98. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/getting_started/quickstart.ipynb +0 -0
  99. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/how_tos/activations.ipynb +0 -0
  100. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/how_tos/custom_hooks.ipynb +0 -0
  101. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/how_tos/how_tos.rst +0 -0
  102. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/how_tos/synops_loss_ann.ipynb +0 -0
  103. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/how_tos/synops_loss_snn.ipynb +0 -0
  104. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/index.md +0 -0
  105. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/make.bat +0 -0
  106. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/plugins/plugins.rst +0 -0
  107. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/requirements.txt +0 -0
  108. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/advanced_concepts.rst +0 -0
  109. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/chip_factory.rst +0 -0
  110. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/config_builder.rst +0 -0
  111. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/crop2d.rst +0 -0
  112. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/discretize.rst +0 -0
  113. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/dvs_layer.rst +0 -0
  114. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/dynapcnn.rst +0 -0
  115. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/dynapcnn_layer.rst +0 -0
  116. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/dynapcnn_network.rst +0 -0
  117. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/dynapcnn_visualizer.rst +0 -0
  118. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/exceptions.rst +0 -0
  119. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/flipdims.rst +0 -0
  120. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/io.rst +0 -0
  121. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/mapping.rst +0 -0
  122. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/specksim.rst +0 -0
  123. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/api/dynapcnn/utils.rst +0 -0
  124. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/dangers.md +0 -0
  125. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/add_new_device.md +0 -0
  126. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/available_algorithmic_operation.md +0 -0
  127. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/available_network_arch.md +0 -0
  128. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/chip_errata.md +0 -0
  129. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/device_management.md +0 -0
  130. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/index.rst +0 -0
  131. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/output_monitoring.md +0 -0
  132. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/save_hardware_config_as_binary.md +0 -0
  133. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/faqs/tips_for_training.md +0 -0
  134. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/index.rst +0 -0
  135. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/leak_neuron.ipynb +0 -0
  136. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/nmnist_quick_start.ipynb +0 -0
  137. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/play_with_speck_dvs.ipynb +0 -0
  138. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/power_monitoring.ipynb +0 -0
  139. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/using_readout_layer.ipynb +0 -0
  140. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/visualize_speck_dvs_input.ipynb +0 -0
  141. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/notebooks/visualize_spike_count.ipynb +0 -0
  142. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/overview.md +0 -0
  143. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/specksim.md +0 -0
  144. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/the_basics.md +0 -0
  145. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/tutorials.rst +0 -0
  146. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/speck/visualizer.md +0 -0
  147. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/LeNet_5_EngChinese.ipynb +0 -0
  148. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/bptt.ipynb +0 -0
  149. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/nir_to_speck.ipynb +0 -0
  150. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/nmnist.ipynb +0 -0
  151. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/scnn_mnist.nir +0 -0
  152. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/tutorials.rst +0 -0
  153. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/weight_scaling.md +0 -0
  154. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/docs/tutorials/weight_transfer_mnist.ipynb +0 -0
  155. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/mnist/dynapcnn_network.py +0 -0
  156. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/mnist/mnist_params.pt +0 -0
  157. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/mnist/specksim_network.py +0 -0
  158. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/dvs_gesture_params.pt +0 -0
  159. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/gesture_viz.py +0 -0
  160. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/01_armroll.png +0 -0
  161. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/02_handclap.png +0 -0
  162. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/03_lefthandclockwise.png +0 -0
  163. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/04_lefthandcounterclockwise.png +0 -0
  164. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/05_lefthandwave.png +0 -0
  165. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/06_righthandwave.png +0 -0
  166. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/07_righthandclockwise.png +0 -0
  167. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/08_righthandcounterclockwise.png +0 -0
  168. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/09_airdrums.png +0 -0
  169. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/10_airguitar.png +0 -0
  170. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/examples/visualizer/icons/11_other.png +0 -0
  171. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/jupyterlab-requirements.txt +0 -0
  172. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/requirements.txt +0 -0
  173. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/setup.cfg +0 -0
  174. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/setup.py +0 -0
  175. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/__init__.py +0 -0
  176. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/activation/__init__.py +0 -0
  177. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/activation/quantize.py +0 -0
  178. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/activation/reset_mechanism.py +0 -0
  179. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/activation/spike_generation.py +0 -0
  180. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/activation/surrogate_gradient_fn.py +0 -0
  181. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/__init__.py +0 -0
  182. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/__init__.py +0 -0
  183. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/chip_factory.py +0 -0
  184. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/chips/__init__.py +0 -0
  185. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/chips/dynapcnn.py +0 -0
  186. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/chips/speck2e.py +0 -0
  187. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/chips/speck2f.py +0 -0
  188. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/config_builder.py +0 -0
  189. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/crop2d.py +0 -0
  190. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/dvs_layer.py +0 -0
  191. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/dynapcnn_layer.py +0 -0
  192. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/dynapcnn_visualizer.py +0 -0
  193. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/exceptions.py +0 -0
  194. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/flipdims.py +0 -0
  195. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/io.py +0 -0
  196. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/mapping.py +0 -0
  197. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/specksim.py +0 -0
  198. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/backend/dynapcnn/utils.py +0 -0
  199. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/cnnutils.py +0 -0
  200. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/conversion.py +0 -0
  201. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/from_torch.py +0 -0
  202. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/hooks.py +0 -0
  203. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/__init__.py +0 -0
  204. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/alif.py +0 -0
  205. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/channel_shift.py +0 -0
  206. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/crop2d.py +0 -0
  207. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/exp_leak.py +0 -0
  208. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/functional/__init__.py +0 -0
  209. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/functional/alif.py +0 -0
  210. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/functional/lif.py +0 -0
  211. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/iaf.py +0 -0
  212. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/lif.py +0 -0
  213. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/merge.py +0 -0
  214. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/neuromorphic_relu.py +0 -0
  215. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/pool2d.py +0 -0
  216. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/quantize.py +0 -0
  217. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/reshape.py +0 -0
  218. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/stateful_layer.py +0 -0
  219. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/layers/to_spike.py +0 -0
  220. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/network.py +0 -0
  221. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/nir.py +0 -0
  222. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/synopcounter.py +0 -0
  223. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/utils.py +0 -0
  224. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs/validate_memory_speck.py +0 -0
  225. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs.egg-info/dependency_links.txt +0 -0
  226. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs.egg-info/not-zip-safe +0 -0
  227. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs.egg-info/requires.txt +0 -0
  228. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/sinabs.egg-info/top_level.txt +0 -0
  229. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/inputs_and_results/hooks/conv_input.pth +0 -0
  230. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/inputs_and_results/hooks/conv_layer_synops.pth +0 -0
  231. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/inputs_and_results/hooks/firing_rates.pth +0 -0
  232. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/inputs_and_results/hooks/firing_rates_per_neuron.pth +0 -0
  233. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/inputs_and_results/hooks/input_diffs.pth +0 -0
  234. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/inputs_and_results/hooks/model_synops.pth +0 -0
  235. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/mnist_params.pt +0 -0
  236. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/models/README.txt +0 -0
  237. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/models/synop_hook_model.pth +0 -0
  238. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/requirements.txt +0 -0
  239. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_activations.py +0 -0
  240. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_batch_mismatch.py +0 -0
  241. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_batch_size_update.py +0 -0
  242. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_conversion.py +0 -0
  243. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/custom_jit_filters.py +0 -0
  244. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/hw_utils.py +0 -0
  245. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_auto_mapping.py +0 -0
  246. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_compatible_layer_build.py +0 -0
  247. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_config_making.py +0 -0
  248. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_device_movement.py +0 -0
  249. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_device_name_mapping.py +0 -0
  250. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_discretized.py +0 -0
  251. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_doorbell.py +0 -0
  252. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_dvs_input.py +0 -0
  253. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_dvs_layer.py +0 -0
  254. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_event_conversion.py +0 -0
  255. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_individual_cases.py +0 -0
  256. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_learning.py +0 -0
  257. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_monitoring.py +0 -0
  258. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_neuron_leak.py +0 -0
  259. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_single_neuron_hardware.py +0 -0
  260. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_speck2e.py +0 -0
  261. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_dynapcnn/test_visualizer.py +0 -0
  262. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_from_model.py +0 -0
  263. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_channelshift.py +0 -0
  264. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_crop2d.py +0 -0
  265. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_exp_leak.py +0 -0
  266. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_img2spk.py +0 -0
  267. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_maxpooling.py +0 -0
  268. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_merge.py +0 -0
  269. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_neuromorphic_relu.py +0 -0
  270. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_reshaping.py +0 -0
  271. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_sig2spk.py +0 -0
  272. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_layers/test_stateful_layer.py +0 -0
  273. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_network_class.py +0 -0
  274. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_nir.py +0 -0
  275. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_normalize_weights.py +0 -0
  276. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_onnx.py +0 -0
  277. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_quantize.py +0 -0
  278. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_specksim/test_specksim_bindings.py +0 -0
  279. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_specksim/test_specksim_conversion.py +0 -0
  280. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_specksim/test_specksim_network.py +0 -0
  281. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_surrogate_gradients.py +0 -0
  282. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/test_utils.py +0 -0
  283. {sinabs-3.0.4.dev2 → sinabs-3.0.4.dev25}/tests/weights/README.txt +0 -0
@@ -16,8 +16,15 @@ jobs:
16
16
  fail-fast: false
17
17
  matrix:
18
18
  os: [ubuntu-latest]
19
- python-version: ["3.10"]
20
- torch-version: ["2.0.0",]
19
+ python-version: ["3.10", "3.11", "3.12"]
20
+ torch-version: ["2.0.0", "2.8.0"]
21
+ exclude:
22
+ - python-version: "3.10"
23
+ torch-version: "2.8.0"
24
+ - python-version: "3.11"
25
+ torch-version: "2.8.0"
26
+ - python-version: "3.12"
27
+ torch-version: "2.0.0"
21
28
  steps:
22
29
  - uses: actions/checkout@v4
23
30
  - name: Set up Python ${{ matrix.python-version }}
@@ -41,10 +48,10 @@ jobs:
41
48
  runs-on: ubuntu-latest
42
49
  steps:
43
50
  - uses: actions/checkout@v4
44
- - name: Setup Python 3.8
51
+ - name: Setup Python 3.12
45
52
  uses: actions/setup-python@v5
46
53
  with:
47
- python-version: 3.8
54
+ python-version: 3.12
48
55
  - name: Generate coverage report
49
56
  run: |
50
57
  sudo apt-get update && sudo apt-get -y install libglu1-mesa
@@ -63,10 +70,10 @@ jobs:
63
70
  - uses: actions/checkout@v4
64
71
  with:
65
72
  fetch-depth: 0
66
- - name: Setup Python 3.10
73
+ - name: Setup Python 3.12
67
74
  uses: actions/setup-python@v5
68
75
  with:
69
- python-version: "3.10.18"
76
+ python-version: "3.12"
70
77
  - name: Install dependencies
71
78
  run: |
72
79
  sudo apt-get update && sudo apt-get -y install libglu1-mesa
@@ -85,10 +92,10 @@ jobs:
85
92
  - uses: actions/checkout@v4
86
93
  with:
87
94
  fetch-depth: 0
88
- - name: Set up Python 3.8
95
+ - name: Set up Python 3.12
89
96
  uses: actions/setup-python@v5
90
97
  with:
91
- python-version: 3.8
98
+ python-version: 3.12
92
99
  - name: Install build packages
93
100
  run: pip install wheel pbr setuptools
94
101
  - name: Build a binary wheel and a source tarball
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: sinabs
3
+ Version: 3.0.4.dev25
4
+ Summary: SynSense Spiking Neural Network simulator for deep neural networks (DNNs).
5
+ Author: SynSense (formerly AiCTX)
6
+ Author-email: support@synsense.ai
7
+ License: Apache 2.0
8
+ Project-URL: Source code, https://github.com/synsense/sinabs
9
+ Project-URL: Documentation, https://readthedocs.org/projects/sinabs/
10
+ Keywords: spiking neural networks,machine learning,SNN,DYNAPCNN,Speck
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ License-File: AUTHORS
20
+ Requires-Dist: pbr
21
+ Requires-Dist: numpy
22
+ Requires-Dist: torch>=1.8
23
+ Requires-Dist: nir<=1.0.4
24
+ Requires-Dist: nirtorch
25
+ Requires-Dist: samna>=0.33
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: keywords
32
+ Dynamic: license
33
+ Dynamic: license-file
34
+ Dynamic: project-url
35
+ Dynamic: requires-dist
36
+ Dynamic: summary
37
+
38
+ [![PyPI - Package](https://img.shields.io/pypi/v/sinabs.svg)](https://pypi.org/project/sinabs/)
39
+ [![Documentation Status](https://readthedocs.org/projects/sinabs/badge/?version=main)](https://sinabs.readthedocs.io)
40
+ [![codecov](https://codecov.io/gh/synsense/sinabs/branch/develop/graph/badge.svg?token=JPGAW4SH1W)](https://codecov.io/gh/synsense/sinabs)
41
+ [![PyPI - Downloads](https://img.shields.io/pypi/dd/sinabs)](https://pepy.tech/project/sinabs)
42
+ [![Discord](https://img.shields.io/discord/852094154188259338)](https://discord.gg/V6FHBZURkg)
43
+ ![sinabs](docs/_static/sinabs-logo-lowercase-whitebg.png)
44
+
45
+ Sinabs (Sinabs Is Not A Brain Simulator) is a python library for the development and implementation of Spiking Convolutional Neural Networks (SCNNs).
46
+ The library implements several layers that are `spiking` equivalents of CNN layers.
47
+ In addition it provides support to import CNN models implemented in torch conveniently to test their `spiking` equivalent implementation.
48
+ This project is managed by SynSense (former aiCTX AG).
49
+
50
+ The `sinabs-dynapcnn` was incorporated to this project, and it enables porting sinabs models to chips and dev-kits with DYNAP-CNN technology.
51
+
52
+
53
+ Installation
54
+ ------------
55
+ For the stable release on the main branch:
56
+ ```
57
+ pip install sinabs
58
+ ```
59
+ or (thanks to [@Tobias-Fischer](https://github.com/Tobias-Fischer))
60
+ ```
61
+ conda install -c conda-forge sinabs
62
+ ```
63
+
64
+ For the latest pre-release on the develop branch that passed the tests:
65
+ ```
66
+ pip install sinabs --pre
67
+ ```
68
+ The package has been tested on the following configurations
69
+ [![](http://github-actions.40ants.com/synsense/sinabs/matrix.svg?only=ci.multitest)](https://github.com/synsense/sinabs)
70
+
71
+
72
+ Documentation and Examples
73
+ --------------------------
74
+ [https://sinabs.readthedocs.io/](https://sinabs.readthedocs.io/)
75
+
76
+ Questions? Feedback?
77
+ --------------------
78
+ Please join us on the [#sinabs Discord channel](https://discord.gg/V6FHBZURkg)!
79
+
80
+ - If you would like to report bugs or push any changes, you can do this on our [github repository](https://github.com/synsense/sinabs/issues).
81
+
82
+ License
83
+ -------
84
+ Sinabs is published under Apache v2.0. See the LICENSE file for details.
85
+
86
+
87
+ Contributing to Sinabs
88
+ ------------------------
89
+ Checkout the [contributing](https://sinabs.readthedocs.io/en/develop/about/contributing.html) page for more info.
90
+
91
+
92
+ Citation
93
+ --------
94
+
95
+ In case you find this software library useful for your work please consider citing it as follows:
96
+
97
+ ```
98
+ @software{sinabs,
99
+ author = {Sheik, Sadique and Lenz, Gregor and Bauer, Felix and Kuepelioglu, Nogay },
100
+ doi = {10.5281/zenodo.8385545},
101
+ license = {Apache-2.0},
102
+ title = {{SINABS: A simple Pytorch based SNN library specialised for Speck}},
103
+ url = {https://github.com/synsense/sinabs}
104
+ }
105
+ ```
106
+
@@ -1,39 +1,40 @@
1
- CHANGES
2
- =======
1
+ # Release notes
3
2
 
4
- v3.0.3
3
+ ## v3.0.4 (08/09/2025)
4
+
5
+ * Update sinabs code to be consistent with Python 3.12 and Numpy > 2.0.
6
+ * Merge Release Notes and Changelog.
7
+ * Remove Changelog file as it was not being used.
8
+ * Remove Pipfile and Pipfile.lock files as they were not being used anymore.
9
+ * Specific/minimal library versions can be found in requirements.txt
10
+
11
+ ## v3.0.3 (22/07/2025)
5
12
 
6
13
  * Add function in utils to help identify issues with memory constraints when mapping a network on Speck.
7
14
  (https://sinabs.readthedocs.io/v3.0.3/api/utils.html#sinabs.utils.validate_memory_mapping_speck)
8
15
 
9
- v3.0.2
10
- ------
16
+ ## v3.0.2 (10/06/2025)
11
17
 
12
18
  * Update contact email. Now, any support requests and information about contributors license agreement needs to be sent to `support@synsense.ai`.
13
19
 
14
- v3.0.1
15
- ------
20
+ ## v3.0.1 (06/06/2025)
16
21
 
17
22
  * Update the release of the project when `main` branch is updated instead of `develop`
18
23
 
19
- v3.0.0
20
- ------
24
+ ## v3.0.0 (06/06/2025)
21
25
 
22
26
  * Remove support for older boards following update on Samna 0.46.0
23
27
 
24
- v2.0.3
25
- ------
28
+ ## v2.0.3 (18/03/2025)
26
29
 
27
30
  * Update Sinabs license to Apache 2.0
28
31
 
29
- v2.0.2
30
- ------
32
+ ## v2.0.2 (23/01/2025)
31
33
 
32
34
  * Spike count plot in 'DynapcnnVisualizer' is optional
33
35
  * `DynapcnnVisualizer` allows custom JIT filters to make readout predictions
34
36
 
35
- v2.0.0
36
- ------
37
+ ## v2.0.0 (14/03/2024)
37
38
 
38
39
  * Fix typos and broken links in the documentation
39
40
  * Move instructions for adding new device to FAQ
@@ -66,8 +67,7 @@ v2.0.0
66
67
  * Remove easy-install command
67
68
  * Add graphviz dependency
68
69
 
69
- v1.2.10
70
- -------
70
+ ## v1.2.10 (07/12/2023)
71
71
 
72
72
  * Update codecov.yml
73
73
  * Update ci-pipeline.yml
@@ -97,8 +97,7 @@ v1.2.10
97
97
  * set default value to 1 for stride in SumPool2d
98
98
  * updated nir to support Flatten and SumPool2d
99
99
 
100
- v1.2.9
101
- ------
100
+ ## v1.2.9 (31/08/2023)
102
101
 
103
102
  * Add unit test to ensure that subract value of MembraneSubtract can be a tensor
104
103
  * Correct test whether subtract value is None
@@ -165,8 +164,7 @@ v1.2.9
165
164
  * add nir IF support
166
165
  * updated Sinabs to latest NIR
167
166
 
168
- 1.2.8
169
- -----
167
+ ## 1.2.8 (10/07/2023)
170
168
 
171
169
  * add nir and nirtorch to requirements
172
170
  * implemented sequential for from\_nir
@@ -181,8 +179,7 @@ v1.2.9
181
179
  * wip conversion from nir to sinabs
182
180
  * Fix issue #99, add unit test
183
181
 
184
- v1.2.6
185
- ------
182
+ ## v1.2.6 (30/06/2023)
186
183
 
187
184
  * change nmnist tutorial title
188
185
  * added NMNIST tutorial
@@ -279,15 +276,13 @@ v1.2.6
279
276
  * try another way install graphviz
280
277
  * fix CI pipeline failure
281
278
 
282
- v1.2.5
283
- ------
279
+ ## v1.2.5 (24/04/2023)
284
280
 
285
281
  * make contact title bold like the others
286
282
  * add contact section to documentation
287
283
  * checked tests pass on mac
288
284
 
289
- v1.2.4
290
- ------
285
+ ## v1.2.4 (05/04/2023)
291
286
 
292
287
  * replace torch.inf with math.inf
293
288
  * ignore data and cache directories
@@ -298,14 +293,12 @@ v1.2.4
298
293
  * added update keyring to gitlab-ci
299
294
  * renamed test
300
295
 
301
- v1.2.3
302
- ------
296
+ ## v1.2.3
303
297
 
304
298
  * fix synops/s for Linear layers when no Squeeze layers are used in network
305
299
  * update pre-commit config
306
300
 
307
- v1.2.2
308
- ------
301
+ ## v1.2.2 (17/03/2023)
309
302
 
310
303
  * expand saved input in spiking layers for analyzer
311
304
  * derive spiking layer stats from single saved output tensor and also save input
@@ -317,16 +310,16 @@ v1.2.2
317
310
  * update ChangeLog
318
311
  * add speck2f module devkit support and remove speck2f characterization board support
319
312
 
320
- v1.2.1
321
- ------
313
+ ## v1.2.1 (23/02/2023)
322
314
 
323
315
  * distinguish between accumulated and mini batch stats for firing rates
324
316
  * distinguish between accumulated and mini batch statistics in SNNAnalyzer for synops
325
317
  * only compute connection\_map once in SynopsHook
326
318
  * detach synops accumulation inbetween mini batches for SNNAnalyzer
327
319
 
328
- v1.2.0
329
- ------
320
+ ## v1.2.0 (15/02/2023)
321
+
322
+ Included the SNNAnalyzer module to collect model statistics such as number of synops or neurons automatically.
330
323
 
331
324
  * update release notes
332
325
  * make sure deconvolve outputs same size as conv input in SNNAnalyzer
@@ -403,8 +396,7 @@ v1.2.0
403
396
  * update synops\_loss\_ann notebook
404
397
  * use consistent American spelling of analyzer
405
398
 
406
- v1.1.6
407
- ------
399
+ ## v1.1.6 (08/12/2022)
408
400
 
409
401
  * make min\_vem and spike\_thresholds parameters do that they're included in state\_dict
410
402
  * Detach recordings before plotting
@@ -448,8 +440,7 @@ v1.1.6
448
440
  * Do not sleep while resetting the states when the function is called. Stop the input graph, while the neuron values are written. Sleep for a bit and then start the graph again
449
441
  * Fix to the bug
450
442
 
451
- v1.1.5
452
- ------
443
+ ## v1.1.5 (25/11/2022)
453
444
 
454
445
  * Fix backward pass for MaxSpike
455
446
  * update ChangeLog after add support of speck2e
@@ -477,8 +468,7 @@ v1.1.5
477
468
  * Requirements for samna version updated
478
469
  * Change to get the same functionality in 'to()' method in samna Version: 0.21.2.0
479
470
 
480
- v1.1.4
481
- ------
471
+ ## v1.1.4 (18/11/2022)
482
472
 
483
473
  * autoformat all docstrings using docformatter
484
474
  * fix bug where added\_spike\_output is a ReLU
@@ -487,14 +477,12 @@ v1.1.4
487
477
  * Update ci-pipeline.yml
488
478
  * Update ci-pipeline.yml
489
479
 
490
- v1.1.3
491
- ------
480
+ ## v1.1.3 (17/11/2022)
492
481
 
493
482
  * Update ci-pipeline.yml
494
483
  * add generic reset\_states and zero\_grad utility functions
495
484
 
496
- v1.1.2
497
- ------
485
+ ## v1.1.2 (16/11/2022)
498
486
 
499
487
  * make sure that add\_spike\_output doesn't add spiking layer in original ANN
500
488
  * removed unused imports
@@ -505,8 +493,7 @@ v1.1.2
505
493
  * add documentation about how to release a new Sinabs version
506
494
  * Hotfix new arg\_dict
507
495
 
508
- v1.1.1
509
- ------
496
+ ## v1.1.1 (02/11/2022)
510
497
 
511
498
  * add arg\_dict property to StatefulLayer
512
499
  * Update ci-pipeline.yml
@@ -518,16 +505,14 @@ v1.1.1
518
505
  * add a replace\_module function that will replace specific layer according to a mapper\_fn. Reworked from\_torch
519
506
  * requirement bumped to 1.0.7
520
507
 
521
- v1.0.7
522
- ------
508
+ ## v1.0.7 (27/10/2022)
523
509
 
524
510
  * check for pytorch version under test and either call testing.assert\_close or assert\_allclose depending on the version
525
511
  * using torch.equal instead of np equal
526
512
  * tests fixed
527
513
  * fixing test
528
514
 
529
- v1.0.6
530
- ------
515
+ ## v1.0.6
531
516
 
532
517
  * added zero\_grad to network
533
518
  * wip enable learning
@@ -537,8 +522,7 @@ v1.0.6
537
522
  * added zero\_grad function
538
523
  * updates to latest sinabs requirements
539
524
 
540
- v1.0.5
541
- ------
525
+ ## v1.0.5 (21/10/2022)
542
526
 
543
527
  * add utils functions to documentation
544
528
  * update tutorial notebooks to use batch\_size or num\_timesteps for from\_model
@@ -547,8 +531,7 @@ v1.0.5
547
531
  * exclude samna log files
548
532
  * get rid of test warnings: Dropout instead of Dropout2d, no autograd fn instantiation, torch.arange
549
533
 
550
- v1.0.4
551
- ------
534
+ ## v1.0.4 (05/10/2022)
552
535
 
553
536
  * more docstring updates for layers plus cross-references in API documentation
554
537
  * add shape and attributes to layer docstrings
@@ -558,27 +541,24 @@ v1.0.4
558
541
  * add Repeat auxiliary layer
559
542
  * Update ci-pipeline.yml
560
543
 
561
- v1.0.3
562
- ------
544
+ ## v1.0.3 (28/09/2022)
563
545
 
564
546
  * exclude generated authors / changelog files
565
547
  * Removed pandas dependency. Adjusted tests accordingly
566
548
  * add speck2e config builder
567
549
 
568
- v1.0.2
569
- ------
550
+ ## v1.0.2 (14/09/2022)
570
551
 
571
552
  * additional minor docstring update
572
553
  * update some more docstrings for activation modules
573
554
  * doc strings updated
574
555
 
575
- v1.0.1
576
- ------
556
+ ## v1.0.1 (26/08/2022)
577
557
 
558
+ Mostly making v0.3.x stable, with a revamped documentation that includes a gallery and how-tos!
578
559
  * add release notes for v1.0.1
579
560
 
580
- v1.0.0
581
- ------
561
+ ## v1.0.0
582
562
 
583
563
  * add complete tutorial notebooks since their execution is deactivated on the docs server
584
564
  * exclude some notebooks from automatic documentation build because they take very long
@@ -590,8 +570,7 @@ v1.0.0
590
570
  * first version of Sinabs gallery instead of tutorial notebook that plots neuron models
591
571
  * added pre-commit hooks for black
592
572
 
593
- v0.3.5
594
- ------
573
+ ## v0.3.5 (18/08/2022)
595
574
 
596
575
  * Bump stable PyTorch version from 1.10 to 1.12 in CI pipeline
597
576
  * Fix bug in tutorial due to API update
@@ -600,8 +579,7 @@ v0.3.5
600
579
  * Fix handling of non-scalar tau\_syn
601
580
  * Prevent non-integer arguments to Squeeze class from breaking code
602
581
 
603
- v0.3.4
604
- ------
582
+ ## v0.3.4 (21/06/2022)
605
583
 
606
584
  * Fix critical bug in LIF synaptic forward dynamics
607
585
  * re-naming from BufferSinkNode to BasicSinkNode
@@ -645,8 +623,7 @@ v0.3.4
645
623
  * Remove tau\_mem as a parameter from IAF
646
624
  * from\_model takes same parameters as IAF
647
625
 
648
- v0.3.3
649
- ------
626
+ ## v0.3.3 (20/04/2022)
650
627
 
651
628
  * update SNN synops tutorial
652
629
  * make SNNSynopsCounter work as a loss function
@@ -658,21 +635,28 @@ v0.3.3
658
635
  * moved parse\_device\_string into utils. No need of samna to run other modules
659
636
  * added speck2b tiny support
660
637
 
661
- v0.3.2
662
- ------
638
+ ## v0.3.2 (314/03/2022)
663
639
 
664
640
  * Rename remaining threshold arguments to spike\_threshold for more consistency
665
641
  * Update .gitlab-ci.yml
666
642
  * Update jupyterlab-requirements.txt
667
643
 
668
- v0.3.1
669
- ------
644
+ ## v0.3.1 (23/03/2022)
670
645
 
671
646
  * Update ci-pipeline.yml
672
647
  * Update requirements.txt
673
648
 
674
- v0.3.0
675
- ------
649
+ ## v0.3.0 (22/03/2022)
650
+
651
+ This is a major overhaul which rewrites a large part of the package.
652
+
653
+ * Addition of leaky models such as Leaky Integrate and Fire (LIF), Exponential Leaky (ExpLeak) and Adaptive LIF (ALIF).
654
+ * Activation module: from sinabs.activation you'll now be able to pick and choose different spike generation, reset mechanism and surrogate gradient functions. You can pass them to the neuron model (LIF, IAF, ...) of your liking if you want to alter the default behavior.
655
+ * new documentation on readthedocs
656
+ * SpikingLayer has been renamed to IAF (Integrate and Fire).
657
+ * State variable names changed and new ones have been added: 'state' is now called 'v_mem' and 'i_syn' is added for neuron layers that use tau_syn.
658
+ * New neuron features: support for recurrent connections, recording internal states, normalising inputs by taus, initialisation with shape and more.
659
+ * We moved our repo to Github and changed the CI pipeline to Github actions.
676
660
 
677
661
  * add basic parameter printing in \_\_repr\_\_
678
662
  * Update ci-pipeline.yml
@@ -791,8 +775,13 @@ v0.3.0
791
775
  * tau\_mem for LIF neurons is now always calculated on CPU and transferred to original device, for better numerical comparison with SLAYER LIF layer
792
776
  * only zero gradients if state is initialised
793
777
 
794
- v0.2.1
795
- ------
778
+ ## v0.2.1 (22/02/2022)
779
+
780
+ * TorchLayer renamed to Layer
781
+ * Added a depricated class TorchLayer with warning
782
+ * Added some new layer types
783
+ * BPTT enabled spike activation layer
784
+ * SpikingTemporalConv1dLayer
796
785
 
797
786
  * added pip install
798
787
  * added requirements
@@ -1144,8 +1133,7 @@ v0.2.1
1144
1133
  * fixed docs, removed commented-out areas
1145
1134
  * removed dependency on samna for validation, and on SpikingLayerBPTT
1146
1135
 
1147
- v0.2.0
1148
- ------
1136
+ ## v0.2.0
1149
1137
 
1150
1138
  * Threshold gradient scaled by threshold (Bug fix)
1151
1139
  * updated docs, removed exclude\_negative\_spikes from fromtorch (no effect)
@@ -1324,8 +1312,7 @@ v0.2.0
1324
1312
  * Depricated TorchLayer added
1325
1313
  * merged master to bptt\_devel
1326
1314
 
1327
- v0.1.dev7
1328
- ---------
1315
+ ## v0.1.dev7 (09/04/2020)
1329
1316
 
1330
1317
  * install m2r with hotfix for new version of sphinx
1331
1318
  * changed membrane\_subtract and reset defaults, some cleanup
@@ -1504,8 +1491,7 @@ v0.1.dev7
1504
1491
  * merged
1505
1492
  * fixed typos in readme
1506
1493
 
1507
- v0.1.0
1508
- ------
1494
+ ## v0.1.0
1509
1495
 
1510
1496
  * fixed version number
1511
1497
  * removed contrib branch
@@ -2,7 +2,7 @@
2
2
  - [ ] Tests for the changes have been added (for bug fixes/features)
3
3
  - [ ] Docs have been added / updated (for bug fixes / features)
4
4
  - [ ] I have performed a self-review of my code
5
- - [ ] Will this be part of a product update? If yes, please write one line about this on the CHANGELOG.md
5
+ - [ ] Will this be part of a product update? If yes, please write one line about this on docs/about/release_notes.md
6
6
 
7
7
 
8
8
  * **What kind of change does this PR introduce?** (Bug fix, feature, docs update, ...)
@@ -287,7 +287,6 @@ def _discretize_conv_spk_(
287
287
  conv_bias = torch.zeros(conv_lyr.out_channels)
288
288
 
289
289
  if spike_lyr is None:
290
-
291
290
  discr_spk = False
292
291
 
293
292
  if spk_thr is None or spk_thr_low is None:
@@ -344,7 +344,6 @@ class DynapcnnNetwork(nn.Module):
344
344
  )
345
345
  # Validate config
346
346
  if is_compatible:
347
- print("Network is valid")
348
347
  return config
349
348
  else:
350
349
  raise ValueError(f"Generated config is not valid for {device}")
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: sinabs
3
+ Version: 3.0.4.dev25
4
+ Summary: SynSense Spiking Neural Network simulator for deep neural networks (DNNs).
5
+ Author: SynSense (formerly AiCTX)
6
+ Author-email: support@synsense.ai
7
+ License: Apache 2.0
8
+ Project-URL: Source code, https://github.com/synsense/sinabs
9
+ Project-URL: Documentation, https://readthedocs.org/projects/sinabs/
10
+ Keywords: spiking neural networks,machine learning,SNN,DYNAPCNN,Speck
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Programming Language :: Python :: 3
17
+ Description-Content-Type: text/markdown
18
+ License-File: LICENSE
19
+ License-File: AUTHORS
20
+ Requires-Dist: pbr
21
+ Requires-Dist: numpy
22
+ Requires-Dist: torch>=1.8
23
+ Requires-Dist: nir<=1.0.4
24
+ Requires-Dist: nirtorch
25
+ Requires-Dist: samna>=0.33
26
+ Dynamic: author
27
+ Dynamic: author-email
28
+ Dynamic: classifier
29
+ Dynamic: description
30
+ Dynamic: description-content-type
31
+ Dynamic: keywords
32
+ Dynamic: license
33
+ Dynamic: license-file
34
+ Dynamic: project-url
35
+ Dynamic: requires-dist
36
+ Dynamic: summary
37
+
38
+ [![PyPI - Package](https://img.shields.io/pypi/v/sinabs.svg)](https://pypi.org/project/sinabs/)
39
+ [![Documentation Status](https://readthedocs.org/projects/sinabs/badge/?version=main)](https://sinabs.readthedocs.io)
40
+ [![codecov](https://codecov.io/gh/synsense/sinabs/branch/develop/graph/badge.svg?token=JPGAW4SH1W)](https://codecov.io/gh/synsense/sinabs)
41
+ [![PyPI - Downloads](https://img.shields.io/pypi/dd/sinabs)](https://pepy.tech/project/sinabs)
42
+ [![Discord](https://img.shields.io/discord/852094154188259338)](https://discord.gg/V6FHBZURkg)
43
+ ![sinabs](docs/_static/sinabs-logo-lowercase-whitebg.png)
44
+
45
+ Sinabs (Sinabs Is Not A Brain Simulator) is a python library for the development and implementation of Spiking Convolutional Neural Networks (SCNNs).
46
+ The library implements several layers that are `spiking` equivalents of CNN layers.
47
+ In addition it provides support to import CNN models implemented in torch conveniently to test their `spiking` equivalent implementation.
48
+ This project is managed by SynSense (former aiCTX AG).
49
+
50
+ The `sinabs-dynapcnn` was incorporated to this project, and it enables porting sinabs models to chips and dev-kits with DYNAP-CNN technology.
51
+
52
+
53
+ Installation
54
+ ------------
55
+ For the stable release on the main branch:
56
+ ```
57
+ pip install sinabs
58
+ ```
59
+ or (thanks to [@Tobias-Fischer](https://github.com/Tobias-Fischer))
60
+ ```
61
+ conda install -c conda-forge sinabs
62
+ ```
63
+
64
+ For the latest pre-release on the develop branch that passed the tests:
65
+ ```
66
+ pip install sinabs --pre
67
+ ```
68
+ The package has been tested on the following configurations
69
+ [![](http://github-actions.40ants.com/synsense/sinabs/matrix.svg?only=ci.multitest)](https://github.com/synsense/sinabs)
70
+
71
+
72
+ Documentation and Examples
73
+ --------------------------
74
+ [https://sinabs.readthedocs.io/](https://sinabs.readthedocs.io/)
75
+
76
+ Questions? Feedback?
77
+ --------------------
78
+ Please join us on the [#sinabs Discord channel](https://discord.gg/V6FHBZURkg)!
79
+
80
+ - If you would like to report bugs or push any changes, you can do this on our [github repository](https://github.com/synsense/sinabs/issues).
81
+
82
+ License
83
+ -------
84
+ Sinabs is published under Apache v2.0. See the LICENSE file for details.
85
+
86
+
87
+ Contributing to Sinabs
88
+ ------------------------
89
+ Checkout the [contributing](https://sinabs.readthedocs.io/en/develop/about/contributing.html) page for more info.
90
+
91
+
92
+ Citation
93
+ --------
94
+
95
+ In case you find this software library useful for your work please consider citing it as follows:
96
+
97
+ ```
98
+ @software{sinabs,
99
+ author = {Sheik, Sadique and Lenz, Gregor and Bauer, Felix and Kuepelioglu, Nogay },
100
+ doi = {10.5281/zenodo.8385545},
101
+ license = {Apache-2.0},
102
+ title = {{SINABS: A simple Pytorch based SNN library specialised for Speck}},
103
+ url = {https://github.com/synsense/sinabs}
104
+ }
105
+ ```
106
+
@@ -3,10 +3,7 @@
3
3
  .readthedocs.yaml
4
4
  AUTHORS
5
5
  CITATION.cff
6
- ChangeLog
7
6
  LICENSE
8
- Pipfile
9
- Pipfile.lock
10
7
  README.md
11
8
  codecov.yml
12
9
  jupyterlab-requirements.txt
@@ -0,0 +1 @@
1
+ {"git_version": "b38b049", "is_release": false}