IBM / pytorch-seq2seq

An open source framework for seq2seq models in PyTorch.
https://ibm.github.io/pytorch-seq2seq/public/index.html
Apache License 2.0
1.5k stars 376 forks source link

Error for cuda and cpu #185

Open lucasjinreal opened 5 years ago

lucasjinreal commented 5 years ago
/pytorch-seq2seq/seq2seq/models/EncoderRNN.py", line 68, in forward
    embedded = self.embedding(input_var)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 479, in __call__
    result = self.forward(*input, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/sparse.py", line 113, in forward
    self.norm_type, self.scale_grad_by_freq, self.sparse)
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py", line 1283, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Expected object of backend CUDA but got backend CPU for argument #3 'index'
pskrunner14 commented 5 years ago

@jinfagang could you try running your code with develop branch?

xiaodaoyoumin commented 5 years ago

bug bug bug !!!!!!!!!!!!!!!!!!!!!!!!!!!! waste my time!!!!!!!!!!!

lucasjinreal commented 5 years ago

@Hujun-Cui I think this repo is not active maintained now.

pskrunner14 commented 5 years ago

@jinfagang this has been a recurring issue, however the fix has already been made on the develop branch. Will update on master soon. Please see #180 for a simple workaround.

v587su commented 5 years ago

The wrong code is at line 75 of supervised_trainer.py and line 38 of evaluator.py. I change them to device = torch.device('cuda:0') if torch.cuda.is_available() else -1 and CUDA is available now.

rain1024 commented 5 years ago

I think this should be merged in master now.

Hexagram-King commented 4 years ago

The wrong code is at line 75 of supervised_trainer.py and line 38 of evaluator.py. I change them to device = torch.device('cuda:0') if torch.cuda.is_available() else -1 and CUDA is available now.

Except the two files, is there any other file need to fix? After fix the two files, the code still be incorrect...

isekulic commented 3 years ago

The wrong code is at line 75 of supervised_trainer.py and line 38 of evaluator.py. I change them to device = torch.device('cuda:0') if torch.cuda.is_available() else -1 and CUDA is available now.

Except the two files, is there any other file need to fix? After fix the two files, the code still be incorrect...

No, but you need to re-install the package after you do these corrections. Running python setup.py install again helped in my case.