sinabs 3.1.1__tar.gz → 3.1.2__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.
- {sinabs-3.1.1 → sinabs-3.1.2}/PKG-INFO +1 -1
- sinabs-3.1.2/docs/_static/visualize_spike_count/spike_count.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/about/release_notes.md +6 -1
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/notebooks/leak_neuron.ipynb +3 -3
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/notebooks/play_with_speck_dvs.ipynb +28 -17
- sinabs-3.1.2/docs/speck/notebooks/power_monitoring.ipynb +703 -0
- sinabs-3.1.2/docs/speck/notebooks/using_readout_layer.ipynb +1023 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/notebooks/visualize_speck_dvs_input.ipynb +45 -17
- sinabs-3.1.2/docs/speck/notebooks/visualize_spike_count.ipynb +588 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/dynapcnn_visualizer.py +6 -2
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs.egg-info/PKG-INFO +1 -1
- sinabs-3.1.2/sinabs.egg-info/pbr.json +1 -0
- sinabs-3.1.1/docs/_static/visualize_spike_count/spike_count.png +0 -0
- sinabs-3.1.1/docs/speck/notebooks/power_monitoring.ipynb +0 -755
- sinabs-3.1.1/docs/speck/notebooks/using_readout_layer.ipynb +0 -1090
- sinabs-3.1.1/docs/speck/notebooks/visualize_spike_count.ipynb +0 -719
- sinabs-3.1.1/sinabs.egg-info/pbr.json +0 -1
- {sinabs-3.1.1 → sinabs-3.1.2}/.coveragerc +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/.github/workflows/ci-pipeline.yml +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/.pre-commit-config.yaml +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/.readthedocs.yaml +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/AUTHORS +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/CITATION.cff +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/LICENSE +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/README.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/codecov.yml +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/Makefile +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/Overview/dataflow_layers.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/Overview/event_preprocessing_pipeline.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/Overview/memory_constraints.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/Overview/sinabs-dynapcnn-role.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/Overview/speck_dynapcnn.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/Overview/speck_top_level.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/devkits_images/dynapcnn_devkit.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/devkits_images/speck_devkit.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/devkits_images/speck_module.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/devkits_images/speck_module_devkit.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/nmnist_quick_start/dvs_input_flow.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/nmnist_quick_start/dynapcnn_visualizer.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/nmnist_quick_start/spike_input_flow.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/power_monitoring/dynamic_power_samna_graph.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/power_monitoring/idle_power_samna_graph.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/power_monitoring/power_plot.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/sinabs-logo-lowercase-whitebg.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/sinabs-logo-lowercase.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/tips_for_training/exceeding_bandwidth.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/using_readout_layer/handcraft_weights.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/using_readout_layer/neuron_id_mismatch.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/using_readout_layer/readout_layer.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/using_readout_layer/samna_graph.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/visualize_speck_dvs/samna_graph.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_static/visualize_spike_count/samna_graph.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_templates/class_activation.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/_templates/class_layer.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/about/about.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/about/contributing.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/about/differences.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/about/info.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/activation.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/api.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/from_torch.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/hooks.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/layers.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/network.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/nir.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/synopcounter.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/api/utils.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/conf.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/contact.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/README.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/layers/README.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/layers/plot_alif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/layers/plot_exp_leaky.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/layers/plot_iaf.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/layers/plot_lif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/layers/utils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/spike_fns/README.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/spike_fns/plot_maxspike.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/spike_fns/plot_multispike.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/spike_fns/plot_singlespike.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/surrogate_grad_fns/README.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/surrogate_grad_fns/plot_gaussian.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/surrogate_grad_fns/plot_heaviside.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/surrogate_grad_fns/plot_multigaussian.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/surrogate_grad_fns/plot_periodicexponential.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/gallery/surrogate_grad_fns/plot_singleexponential.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/getting_started/fundamentals.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/getting_started/getting_started.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/getting_started/iaf_neuron_model.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/getting_started/install.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/getting_started/python_pyenv_pipenv.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/getting_started/quickstart.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/how_tos/activations.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/how_tos/custom_hooks.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/how_tos/how_tos.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/how_tos/synops_loss_ann.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/how_tos/synops_loss_snn.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/index.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/make.bat +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/plugins/plugins.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/requirements.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/advanced_concepts.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/chip_factory.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/config_builder.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/crop2d.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/discretize.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/dvs_layer.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/dynapcnn.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/dynapcnn_layer.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/dynapcnn_network.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/dynapcnn_visualizer.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/exceptions.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/flipdims.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/io.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/mapping.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/specksim.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/api/dynapcnn/utils.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/dangers.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/add_new_device.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/available_algorithmic_operation.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/available_network_arch.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/chip_errata.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/device_management.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/imgs/network-with-merge-and-split.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/imgs/two-independent-networks.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/imgs/two-networks-merging-output.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/index.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/output_monitoring.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/save_hardware_config_as_binary.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/faqs/tips_for_training.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/index.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/notebooks/nmnist_quick_start.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/overview.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/specksim.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/the_basics.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/tutorials.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/speck/visualizer.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/LeNet_5_EngChinese.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/bptt.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/nir_to_speck.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/nmnist.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/scnn_mnist.nir +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/tutorials.rst +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/weight_scaling.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/docs/tutorials/weight_transfer_mnist.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_DVSLayer_given.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_DVSLayer_given_followed_by_pool.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_deployment.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_need_create_DVSLayer.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_no_DVSLayer.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_with_batchnorm.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/dynapcnn_network/snn_with_multiple_batchnorm.ipynb +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/mnist/dynapcnn_network.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/mnist/mnist_params.pt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/mnist/specksim_network.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/dvs_gesture_params.pt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/gesture_viz.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/01_armroll.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/02_handclap.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/03_lefthandclockwise.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/04_lefthandcounterclockwise.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/05_lefthandwave.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/06_righthandwave.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/07_righthandclockwise.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/08_righthandcounterclockwise.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/09_airdrums.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/10_airguitar.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/examples/visualizer/icons/11_other.png +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/jupyterlab-requirements.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/pull_request_template.md +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/requirements.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/setup.cfg +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/setup.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/activation/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/activation/quantize.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/activation/reset_mechanism.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/activation/spike_generation.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/activation/surrogate_gradient_fn.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/chip_factory.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/chips/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/chips/dynapcnn.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/chips/speck2e.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/chips/speck2f.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/config_builder.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/connectivity_specs.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/crop2d.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/discretize.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/dvs_layer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/dynapcnn_layer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/dynapcnn_layer_utils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/dynapcnn_network.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/dynapcnnnetwork_module.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/exceptions.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/flipdims.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/io.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/mapping.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/nir_graph_extractor.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/sinabs_edges_handler.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/specksim.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/utils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/backend/dynapcnn/weight_rescaling_methods.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/cnnutils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/conversion.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/from_torch.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/hooks.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/alif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/channel_shift.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/crop2d.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/exp_leak.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/functional/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/functional/alif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/functional/lif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/iaf.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/lif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/merge.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/neuromorphic_relu.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/pool2d.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/quantize.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/reshape.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/stateful_layer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/layers/to_spike.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/network.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/nir.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/synopcounter.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/utils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs/validate_memory_speck.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs.egg-info/SOURCES.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs.egg-info/dependency_links.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs.egg-info/not-zip-safe +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs.egg-info/requires.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/sinabs.egg-info/top_level.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/inputs_and_results/hooks/conv_input.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/inputs_and_results/hooks/conv_layer_synops.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/inputs_and_results/hooks/firing_rates.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/inputs_and_results/hooks/firing_rates_per_neuron.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/inputs_and_results/hooks/input_diffs.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/inputs_and_results/hooks/model_synops.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/mnist_params.pt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/models/README.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/models/synop_hook_model.pth +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/requirements.txt +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_activations.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_batch_mismatch.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_batch_size_update.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_conversion.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_copy.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/custom_jit_filters.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/hw_utils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_auto_mapping.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_compatible_layer_build.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_config_making.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_device_movement.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_device_name_mapping.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_discover_device.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_discretized.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_doorbell.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_dvs_input.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_dvs_layer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_event_conversion.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_individual_cases.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_large_net.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_learning.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_monitoring.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_neuron_leak.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_single_neuron_hardware.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_speck2e.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnn/test_visualizer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/conftest_dynapcnnlayer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/model_dummy_1.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/model_dummy_2.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/model_dummy_3.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/model_dummy_4.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnlayer/test_dynapcnnlayer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/__init__.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/conftest_dynapcnnnetwork.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/model_dummy_1.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/model_dummy_2.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/model_dummy_3.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/model_dummy_4.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/model_dummy_seq.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/test_dynapcnnnetwork.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_dynapcnnnetwork/test_failcases.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_from_model.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_graph_extractor/conftest_graph_extractor.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_graph_extractor/model_dummy_1.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_graph_extractor/model_dummy_2.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_graph_extractor/model_dummy_3.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_graph_extractor/model_dummy_4.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_graph_extractor/test_graph_extractor.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_hooks.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_alif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_channelshift.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_crop2d.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_exp_leak.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_iaf.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_img2spk.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_lif.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_maxpooling.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_merge.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_neuromorphic_relu.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_reshaping.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_sig2spk.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_layers/test_stateful_layer.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_network_class.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_nir.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_normalize_weights.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_onnx.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_quantize.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_specksim/test_specksim_bindings.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_specksim/test_specksim_conversion.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_specksim/test_specksim_network.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_surrogate_gradients.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_synops_counter.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/test_utils.py +0 -0
- {sinabs-3.1.1 → sinabs-3.1.2}/tests/weights/README.txt +0 -0
|
Binary file
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## v3.1.2 (12/12/2025)
|
|
4
|
+
|
|
5
|
+
* Update use of visualizer in Sinabs tutorials, previous tutorials were using a deprecated visualizer version.
|
|
6
|
+
* Fix issue with `chip_layers_ordering` in the visualizer. `chip_layers_ordering` was deprecated in Sinabs 3.1.0 and `layer2core_map` needs to be used instead.
|
|
7
|
+
|
|
8
|
+
## v3.1.1 (27/11/2025)
|
|
4
9
|
|
|
5
10
|
* Fix NIR export of Conv1d layer which expected an input_shape parameter.
|
|
6
11
|
* Fix broken link on documentation.
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
112
|
"cell_type": "code",
|
|
113
|
-
"execution_count":
|
|
113
|
+
"execution_count": 5,
|
|
114
114
|
"id": "500e2d79",
|
|
115
115
|
"metadata": {},
|
|
116
116
|
"outputs": [
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
")\n",
|
|
231
231
|
"# don't forget to set the slow clock frequency!\n",
|
|
232
232
|
"# here we set the frequency to 1Hz, which mean the Vmem should decrease after every 1 second\n",
|
|
233
|
-
"dynapcnn.to(device=\"
|
|
233
|
+
"dynapcnn.to(device=\"speck2fdevkit\", slow_clk_frequency=1)\n",
|
|
234
234
|
"\n",
|
|
235
235
|
"# Check if neuron states decrease along with time pass by\n",
|
|
236
236
|
"\n",
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
"name": "python",
|
|
277
277
|
"nbconvert_exporter": "python",
|
|
278
278
|
"pygments_lexer": "ipython3",
|
|
279
|
-
"version": "3.
|
|
279
|
+
"version": "3.12.3"
|
|
280
280
|
}
|
|
281
281
|
},
|
|
282
282
|
"nbformat": 4,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
{
|
|
4
4
|
"cell_type": "markdown",
|
|
5
5
|
"metadata": {
|
|
6
|
+
"collapsed": true,
|
|
6
7
|
"jupyter": {
|
|
7
8
|
"outputs_hidden": true
|
|
8
9
|
}
|
|
@@ -61,7 +62,7 @@
|
|
|
61
62
|
},
|
|
62
63
|
{
|
|
63
64
|
"cell_type": "code",
|
|
64
|
-
"execution_count":
|
|
65
|
+
"execution_count": 1,
|
|
65
66
|
"metadata": {},
|
|
66
67
|
"outputs": [
|
|
67
68
|
{
|
|
@@ -83,13 +84,15 @@
|
|
|
83
84
|
" )\n",
|
|
84
85
|
" (1): DynapcnnLayer(\n",
|
|
85
86
|
" (conv_layer): Conv2d(1, 1, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False)\n",
|
|
86
|
-
" (spk_layer): IAFSqueeze(spike_threshold=
|
|
87
|
+
" (spk_layer): IAFSqueeze(spike_threshold=Parameter containing:\n",
|
|
88
|
+
" tensor(418.), min_v_mem=Parameter containing:\n",
|
|
89
|
+
" tensor(-418.), batch_size=1, num_timesteps=-1)\n",
|
|
87
90
|
" )\n",
|
|
88
91
|
" )\n",
|
|
89
92
|
")"
|
|
90
93
|
]
|
|
91
94
|
},
|
|
92
|
-
"execution_count":
|
|
95
|
+
"execution_count": 1,
|
|
93
96
|
"metadata": {},
|
|
94
97
|
"output_type": "execute_result"
|
|
95
98
|
}
|
|
@@ -112,7 +115,7 @@
|
|
|
112
115
|
"dynapcnn = DynapcnnNetwork(snn=snn, input_shape=input_shape, dvs_input=True)\n",
|
|
113
116
|
"\n",
|
|
114
117
|
"# deploy to speck devkit, use a different name if you're using a different version of the devkit\n",
|
|
115
|
-
"devkit_name = \"
|
|
118
|
+
"devkit_name = \"speck2fdevkit\"\n",
|
|
116
119
|
"dynapcnn.to(device=devkit_name, monitor_layers=[\"dvs\", -1])"
|
|
117
120
|
]
|
|
118
121
|
},
|
|
@@ -130,7 +133,7 @@
|
|
|
130
133
|
},
|
|
131
134
|
{
|
|
132
135
|
"cell_type": "code",
|
|
133
|
-
"execution_count":
|
|
136
|
+
"execution_count": 2,
|
|
134
137
|
"metadata": {},
|
|
135
138
|
"outputs": [
|
|
136
139
|
{
|
|
@@ -164,7 +167,7 @@
|
|
|
164
167
|
},
|
|
165
168
|
{
|
|
166
169
|
"cell_type": "code",
|
|
167
|
-
"execution_count":
|
|
170
|
+
"execution_count": 3,
|
|
168
171
|
"metadata": {},
|
|
169
172
|
"outputs": [
|
|
170
173
|
{
|
|
@@ -215,7 +218,7 @@
|
|
|
215
218
|
},
|
|
216
219
|
{
|
|
217
220
|
"cell_type": "code",
|
|
218
|
-
"execution_count":
|
|
221
|
+
"execution_count": 4,
|
|
219
222
|
"metadata": {},
|
|
220
223
|
"outputs": [
|
|
221
224
|
{
|
|
@@ -224,6 +227,14 @@
|
|
|
224
227
|
"text": [
|
|
225
228
|
"Network is valid\n"
|
|
226
229
|
]
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "stderr",
|
|
233
|
+
"output_type": "stream",
|
|
234
|
+
"text": [
|
|
235
|
+
"/home/vleite/.pyenv/versions/sinabs/lib/python3.12/site-packages/sinabs/backend/dynapcnn/chips/dynapcnn.py:252: UserWarning: DVS layer has pooling and is being monitored. Note that pooling will not be reflected in the monitored events.\n",
|
|
236
|
+
" warn(\n"
|
|
237
|
+
]
|
|
227
238
|
}
|
|
228
239
|
],
|
|
229
240
|
"source": [
|
|
@@ -267,7 +278,7 @@
|
|
|
267
278
|
},
|
|
268
279
|
{
|
|
269
280
|
"cell_type": "code",
|
|
270
|
-
"execution_count":
|
|
281
|
+
"execution_count": 5,
|
|
271
282
|
"metadata": {},
|
|
272
283
|
"outputs": [
|
|
273
284
|
{
|
|
@@ -309,7 +320,7 @@
|
|
|
309
320
|
},
|
|
310
321
|
{
|
|
311
322
|
"cell_type": "code",
|
|
312
|
-
"execution_count":
|
|
323
|
+
"execution_count": 6,
|
|
313
324
|
"metadata": {},
|
|
314
325
|
"outputs": [
|
|
315
326
|
{
|
|
@@ -360,7 +371,7 @@
|
|
|
360
371
|
},
|
|
361
372
|
{
|
|
362
373
|
"cell_type": "code",
|
|
363
|
-
"execution_count":
|
|
374
|
+
"execution_count": 7,
|
|
364
375
|
"metadata": {},
|
|
365
376
|
"outputs": [
|
|
366
377
|
{
|
|
@@ -391,7 +402,7 @@
|
|
|
391
402
|
},
|
|
392
403
|
{
|
|
393
404
|
"cell_type": "code",
|
|
394
|
-
"execution_count":
|
|
405
|
+
"execution_count": 8,
|
|
395
406
|
"metadata": {},
|
|
396
407
|
"outputs": [
|
|
397
408
|
{
|
|
@@ -433,7 +444,7 @@
|
|
|
433
444
|
},
|
|
434
445
|
{
|
|
435
446
|
"cell_type": "code",
|
|
436
|
-
"execution_count":
|
|
447
|
+
"execution_count": 9,
|
|
437
448
|
"metadata": {},
|
|
438
449
|
"outputs": [
|
|
439
450
|
{
|
|
@@ -485,7 +496,7 @@
|
|
|
485
496
|
},
|
|
486
497
|
{
|
|
487
498
|
"cell_type": "code",
|
|
488
|
-
"execution_count":
|
|
499
|
+
"execution_count": 10,
|
|
489
500
|
"metadata": {},
|
|
490
501
|
"outputs": [
|
|
491
502
|
{
|
|
@@ -547,7 +558,7 @@
|
|
|
547
558
|
},
|
|
548
559
|
{
|
|
549
560
|
"cell_type": "code",
|
|
550
|
-
"execution_count":
|
|
561
|
+
"execution_count": 11,
|
|
551
562
|
"metadata": {},
|
|
552
563
|
"outputs": [
|
|
553
564
|
{
|
|
@@ -594,7 +605,7 @@
|
|
|
594
605
|
},
|
|
595
606
|
{
|
|
596
607
|
"cell_type": "code",
|
|
597
|
-
"execution_count":
|
|
608
|
+
"execution_count": 12,
|
|
598
609
|
"metadata": {},
|
|
599
610
|
"outputs": [
|
|
600
611
|
{
|
|
@@ -625,7 +636,7 @@
|
|
|
625
636
|
"devkit_cfg_filter.dvs_filter.threshold = 5\n",
|
|
626
637
|
"\n",
|
|
627
638
|
"# set up the Unifirm/IO module\n",
|
|
628
|
-
"devkit_io =
|
|
639
|
+
"devkit_io = dynapcnn.samna_device.get_io_module()\n",
|
|
629
640
|
"\n",
|
|
630
641
|
"# update the configuration\n",
|
|
631
642
|
"dynapcnn.samna_device.get_model().apply_configuration(devkit_cfg_filter)"
|
|
@@ -655,7 +666,7 @@
|
|
|
655
666
|
"name": "python",
|
|
656
667
|
"nbconvert_exporter": "python",
|
|
657
668
|
"pygments_lexer": "ipython3",
|
|
658
|
-
"version": "3.
|
|
669
|
+
"version": "3.12.3"
|
|
659
670
|
}
|
|
660
671
|
},
|
|
661
672
|
"nbformat": 4,
|