fangwei123456 / spikingjelly

SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.
https://spikingjelly.readthedocs.io
Other
1.4k stars 246 forks source link

请问neuron.LIFNode是否只支持float和half输入 #487

Open haoxiang01 opened 10 months ago

haoxiang01 commented 10 months ago

我期望网络的input类型为complex64,似乎使用cupy训练只支持float和half

2d2b65b595454e881d6bc959f4af9eb

当我关闭cupy训练,报错如下,似乎surrogate的前向heaviside阶跃函数也并不支持complex64

1705881214365

不知道是否我的理解正确,异或还有其他的方向支持输入类型为complex64

fangwei123456 commented 10 months ago

surrogate没考虑过输入为复数的问题,所以还不能实现 你可以考虑从如下神经元继承出一个神经元然后补一些支持复数的函数,看能否正常运行

https://github.com/fangwei123456/spikingjelly/blob/cb1cee00334ebeca101a155aee694252f85543a8/spikingjelly/activation_based/neuron.py#L24

haoxiang01 commented 10 months ago

okay, 谢谢方博士!