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

使用from spikingjelly.clock_driven import layer语句时,程序会卡住。 #217

Closed HFourier closed 2 years ago

HFourier commented 2 years ago

您好!我在使用from spikingjelly.clock_driven import layer时,即使没有用到相关函数,程序也会卡住。 image 使用from spikingjelly.clock_driven import neuron

值得一提的是,当我使用Powershell窗口运行代码时候,虽然也会出现同样的问题,但是按住Ctrl+c后可以跳过导致程序卡住的异常语句,同时显示该语句spikingjelly.clock_driven.spike_op: image 我的python版本是3.8,torch是1.7.1,cuda是11.0,编译器使用的是Pycharm,SJ的版本是0.0.0.0.11。 一开始以为是cupy的问题,尝试过cupy-cuda110、cupy-cuda111以及卸载cupy均未解决该问题。

fangwei123456 commented 2 years ago

从github安装最新版的源代码可以解决这个问题。这个是pytorch的c/cuda缓存造成的,最新版会提示删除这个目录

HFourier commented 2 years ago

谢谢您的建议。我刚刚又重新git了最新版本的SJ,并重启了Pycharm,但是这个问题仍然存在。请问怎么解决呢?

fangwei123456 commented 2 years ago

新版在运行时会提示你删除缓存目录,按提示操作即可

fangwei123456 commented 2 years ago

https://github.com/fangwei123456/spikingjelly/blob/master/spikingjelly/clock_driven/spike_op.py#L17

fangwei123456 commented 2 years ago

把logging的等级改为info,然后看一下输出

HFourier commented 2 years ago

输出了这条报错信息15:20 Error running 'spike_op': Cannot start process, the working directory 'F:\Miniconda\envs\liuye\Lib\site-packages\spikingjelly-0.0.0.0.11-py3.8.egg!\spikingjelly\clock_driven' does not exist

fangwei123456 commented 2 years ago

卸载后 用python setup.py develop安装试试

HFourier commented 2 years ago

好的,我已经卸载并按照你的方法进行安装了,但是在安装过程中并没有提示我删除任何目录。 我在spike_op.py文件中试图输出刚才的log信息,但是报了新的错误: Traceback (most recent call last): File "F:/Miniconda/envs/liuye/Lib/site-packages/spikingjelly/spikingjelly/clock_driven/spike_op.py", line 6, in <module> from . import tensor_cache ImportError: attempted relative import with no known parent package但是我可以跳转到该py文件。

Yanqi-Chen commented 2 years ago

可以拉取最新的代码再试试