fangwei123456 / spikingjelly

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

cannot import modules "_C_neuron" and "_C_gemm" #53

Closed urancon closed 3 years ago

urancon commented 3 years ago

Hi ! First of all thank you very much for the great repo, this is amazing work ! I was trying to run the speed comparison in the first code snippet found at this tutorial page, but I ran into a couple of problems :

Traceback (most recent call last): File "/home/ulysse/Desktop/PFE CerCo/code/stereovision/spikingjelly/tuto_cext_acceleration.py", line 2, in <module> from spikingjelly.cext import neuron as cext_neuron File "/home/ulysse/miniconda3/envs/spiking/lib/python3.8/site-packages/spikingjelly/cext/neuron.py", line 5, in <module> import _C_neuron ModuleNotFoundError: No module named '_C_neuron'

The same happens with module _C_gemm when trying to do from spikingjelly.cext import functional.

I'm far from being an expert in communication between CUDA/C/Python codes so I might be missing something obvious, but it seems to me that these import statements are no longer valid on the current repo. If so, could you please fix this problem, and in the other case, tell me what I am doing wrong ?

Thanks a lot in advance !

fangwei123456 commented 3 years ago

These modules are SpikingJelly's cuda extension, which is no contained in the pip version. You can try to install from source:

git clone https://github.com/fangwei123456/spikingjelly.git
cd spikingjelly
python setup.py install
urancon commented 3 years ago

Thanks for the quick reply ! It worked like a charm, problem solved. I saw you updated the README.md, thank you very much !

fangwei123456 commented 3 years ago

You are welcome! I find many users report the _C_neuron issues. So, I think it is time to add the solution in the readme.md.