bamsumit/slayerPytorch
PyTorch implementation of SLAYER for training Spiking Neural Networks
解决的问题
解决了多层脉冲神经网络(SNN)训练的挑战,通过反向传播实现突触权重和轴突延迟参数的学习。
工作原理
这是 SLAYER(Spike Layer Error Reassignment in Time)框架的 PyTorch 实现。系统原生支持每层多个脉冲,并通过层间反向传播误差来优化网络参数。
适用人群
希望使用 PyTorch 和支持 CUDA 的 GPU 实现并训练这些模型的研究人员和开发者。
主要亮点
- SLAYER 框架的 PyTorch 实现。
- 支持突触权重和轴突延迟的联合学习。
- 原生支持每层多个脉冲。
- 包含多层感知机(MLP)和卷积神经网络(CNN)的示例实现。
相关
- 项目
BindsNET/bindsnetBindsNET 是一个使用 PyTorch 模拟脉冲神经网络的 Python 库。它通过将神经元动力学转换为差分方程并支持 STDP 等学习规则,简化了受大脑启发的机器学习,使您无需编写底层模拟代码即可进行 ML 和 RL 实验。
- 项目
- 项目
pytorch/pytorchPyTorch 是一个开源的 Python 库,提供 GPU 加速的张量操作和基于动态磁带(tape-based)的自动微分系统,用于构建和训练深度神经网络。它与 Python 紧密集成,支持 C/C++ 和其他语言的扩展,并在 CPU、NVIDIA GPU、AMD ROCm 和 Intel GPU 上提供快速、低开销的执行。
- 项目
- 项目
fangwei123456/spikingjellySpikingJelly 是一个基于 PyTorch 的原生库,用于构建、训练和部署脉冲神经网络。它提供神经元模块、代理梯度工具、神经形态数据的数据集加载器、自动后端选择(Torch/Triton/原生 CUDA)、混合精度支持以及导出到神经形态硬件的接口。可通过 PyPI 安装(Python ≥ 3.11,PyTorch ≥ 2.6),并可选 CUDA 扩展以获得高性能。采用 Apache-2.0 许可证。