Skip to main content

sanet

Spiking Attention Network (sanet) model package. PyPI version Supported Python versions PyPI downloads Licence Code style: Black

Paper: Spiking Attention Network: A Hybrid Neuromorphic Approach to Underwater Acoustic Localization and Zero-shot Adaptation

Install

pip3 install sanet

Or

uv add sanet

Usage

Minimal

import torch
import sanet

model = sanet.SA_NET()

batch_size = 2
time_steps = 1500
x = torch.randn(batch_size, time_steps, 21)

with torch.no_grad():
	y = model(x)
	# expected torch.Size([2, 1])

print(y.shape)

All Parameters

import torch
import sanet

model = sanet.SA_NET(
	input_channels=21,
	output_channels=1,
	middle_channels=11,
	seed=42,
	spike_slope=25,
	lif1_beta=0.9956,
	lif2_beta=0.9821,
	lif3_beta=0.930,
	conformer_dim=512,
	conformer_depth=2,
	conformer_dim_head=64,
	conformer_heads=8,
	conformer_ff_mult=4,
	conformer_conv_expansion_factor=2,
	conformer_conv_kernel_size=24,
	conformer_attn_dropout=0.1,
	conformer_ff_dropout=0.1,
	conformer_conv_dropout=0.1,
	dropout_p1=0.0,
	dropout_p2=0.1,
	dropout_p3=0.1,
	dropout_p4=0.1,
)

batch_size = 2
time_steps = 1500
x = torch.randn(batch_size, time_steps, 21)

with torch.no_grad():
    y = model(x)
    # expected torch.Size([2, 1])

print(y.shape)

Model Notes

  • Input tensor shape: [batch, time, channels]
  • The forward pass applies per-channel standardization before the backbone.
  • The network uses ResNet-style 1D blocks, spiking neurons, and Conformer layers.
  • Model initialization sets a deterministic seed (Python, NumPy, and PyTorch) and enables deterministic CUDA behavior.

Architecture Diagram

flowchart TB
	A["Input (batch, time, channels)"] --> B["Per-channel Standardization"]

	subgraph Backbone
		C["ResNet1 + MaxPool + Dropout (p1)"] --> D["LIF1 Spiking"]
		D --> E["ResNet2 + MaxPool + Dropout (p2)"]
		E --> F["LIF2 Spiking"]
		F --> G["ResNet3 + MaxPool + Dropout (p3)"]
		G --> H["LIF3 Spiking"]
		H --> I["ResNet4 + MaxPool + Dropout (p4)"]
	end

	B --> C
	I --> J["Conformer Stack"]
	J --> K["Multilayer Perceptron"]
	K --> L["Output"]

Parameters

  • input_channels (default: 21): Number of input channels.
  • output_channels (default: 1): Number of output channels.
  • middle_channels (default: 11): Number of intermediate channels before the final projection.
  • seed (default: 42): Random seed for reproducibility.
  • spike_slope (default: 25): Slope for the surrogate spike gradient.
  • lif1_beta, lif2_beta, lif3_beta (default: 0.9956, 0.9821, 0.930): Decay rates for spiking neurons.
  • conformer_dim (default: 512): Conformer model dimension.
  • conformer_depth (default: 2): Number of Conformer blocks.
  • conformer_dim_head (default: 64): Attention head dimension.
  • conformer_heads (default: 8): Number of attention heads.
  • conformer_ff_mult (default: 4): Feedforward expansion multiplier.
  • conformer_conv_expansion_factor (default: 2): Conformer conv expansion factor.
  • conformer_conv_kernel_size (default: 24): Conformer conv kernel size.
  • conformer_attn_dropout (default: 0.1): Attention dropout in Conformer.
  • conformer_ff_dropout (default: 0.1): Feedforward dropout in Conformer.
  • conformer_conv_dropout (default: 0.1): Convolution dropout in Conformer.
  • dropout_p1, dropout_p2, dropout_p3, dropout_p4 (default: 0.0, 0.1, 0.1, 0.1): Dropout probabilities for the 1D dropout layers.

Citation

If you find this package useful, please consider citing our paper:

@inproceedings{vo2026sa-net,
	title={Spiking Attention Network: A Hybrid Neuromorphic Approach to Underwater Acoustic Localization and Zero-shot Adaptation},
	author={Vo, Quoc Thinh and Han, David K},
	booktitle={2026 51st IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP)},
	pages={1--5},
	year={2026},
	organization={IEEE}
}

Metadata

Release files for sanet 1.0.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sanet 1.0.11
File Size Uploaded
sanet-1.0.11.tar.gz 112.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sanet 1.0.11
File Interpreter ABI Platform
sanet-1.0.11-py3-none-any.whl Python 3 none any Details

Total release size: 118.4 kB

Release files / sanet-1.0.11.tar.gz

Download URL sanet-1.0.11.tar.gz
Size 112.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7f6a622474fd78a86d5644ccbe765e4d2a279f979306185d71f8660e98124f6b
BLAKE2b-256 checksum
How to use checksums
2aea5f88f5a7b0cdbc9332abc664c3a74a1088a20fe56e6fbd27514ef7a983c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / sanet-1.0.11-py3-none-any.whl

Download URL sanet-1.0.11-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d698179b486f51369bbd6cb3fe94786b8c57ad22d7c5633025c6b084bca62e7e
BLAKE2b-256 checksum
How to use checksums
6cae8f80fabeaf9a01cf03635a1c67bb4afd1e08479f2d244ee288bad85e961f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.0.11 This release

2 release files

1.0.10

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page