AndyCao1125 / SDDPM

[WACV 2024] Spiking Denoising Diffusion Probabilistic Models
36 stars 6 forks source link

How can i solve this problem? thank you #7

Closed qianchentao9 closed 1 month ago

qianchentao9 commented 1 month ago

Model params: 63.61 M 0%| | 1/500000 [10:31<87666:07:01, 631.20s/it, loss=1.004] Traceback (most recent call last): File "main_SDDPM.py", line 350, in main() File "main_SDDPM.py", line 341, in main train() File "main_SDDPM.py", line 234, in train loss = trainer(x_0.float()).mean() File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, *kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\parallel\data_parallel.py", line 183, in forward return self.module(inputs[0], module_kwargs[0]) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, *kwargs) File "C:\Users\qct\SDDPM\diffusion.py", line 92, in forward loss = F.mse_loss(self.model(x_t, t), noise, reduction='none') File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(args, kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(*args, kwargs) File "C:\Users\qct\SDDPM\model\SpikingUNet.py", line 310, in forward h = self.neuron(h) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, *kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl return forward_call(args, kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\spikingjelly\activation_based\base.py", line 270, in forward return self.multi_step_forward(*args, **kwargs) File "D:\anaconda\envs\SDDPM\lib\site-packages\spikingjelly\activation_based\neuron.py", line 532, in multi_step_forward return super().multi_step_forward(x_seq) File "D:\anaconda\envs\SDDPM\lib\site-packages\spikingjelly\activation_based\neuron.py", line 250, in multi_step_forward y = self.single_step_forward(x_seq[t]) File "D:\anaconda\envs\SDDPM\lib\site-packages\spikingjelly\activation_based\neuron.py", line 593, in single_step_forward return super().single_step_forward(x) File "D:\anaconda\envs\SDDPM\lib\site-packages\spikingjelly\activation_based\neuron.py", line 239, in single_step_forward self.neuronal_charge(x) File "D:\anaconda\envs\SDDPM\lib\site-packages\spikingjelly\activation_based\neuron.py", line 461, in neuronal_charge self.v = self.v + x RuntimeError: The size of tensor a (64) must match the size of tensor b (32) at non-singleton dimension 0

OrangeZz0331 commented 3 weeks ago

I met the same error,I wonder have you already solved it? RuntimeError: The following operation failed in the TorchScript interpreter. Traceback of TorchScript (most recent call last): File "/root/miniconda3/envs/SDDPM/lib/python3.8/site-packages/spikingjelly/activation_based/neuron.py", line 485, in fallback_function spike_seq = torch.zeros_like(x_seq) for t in range(x_seq.shape[0]): v = v + x_seq[t]


            spike = (v >= v_threshold).to(x_seq)
            v = v_reset * spike + (1. - spike) * v
RuntimeError: The size of tensor a (32) must match the size of tensor b (16) at non-singleton dimension 0