I was following the Generating Names with a Character-Level RNN[1] tutorial. The training is running fine when using CPU, but when I switch to GPU, I get the following error.
All I added is one line 'rnn.cuda()'
after instantiating the model as rnn = RNN()
.
Traceback (most recent call last):
File "char_rnn_generation_tutorial.py", line 323, in <module>
output, loss = train(*randomTrainingSet())
File "char_rnn_generation_tutorial.py", line 276, in train
output, hidden = rnn(category_tensor, input_line_tensor[i], hidden)
File "/home/paarulakan/environments/python/pytorch-py35/lib/python3.5/site-packages/torch/nn/modules/module.py", line 206, in __call__
result = self.forward(*input, **kwargs)
File "char_rnn_generation_tutorial.py", line 157, in forward
hidden = self.i2h(input_combined)
File "/home/paarulakan/environments/python/pytorch-py35/lib/python3.5/site-packages/torch/nn/modules/module.py", line 206, in __call__
result = self.forward(*input, **kwargs)
File "/home/paarulakan/environments/python/pytorch-py35/lib/python3.5/site-packages/torch/nn/modules/linear.py", line 54, in forward
return self._backend.Linear()(input, self.weight, self.bias)
File "/home/paarulakan/environments/python/pytorch-py35/lib/python3.5/site-packages/torch/nn/_functions/linear.py", line 10, in forward
output.addmm_(0, 1, input, weight.t())
TypeError: addmm_ received an invalid combination of arguments - got (int, int, torch.FloatTensor, torch.cuda.FloatTensor), but expected one of:
* (torch.FloatTensor mat1, torch.FloatTensor mat2)
* (torch.SparseFloatTensor mat1, torch.FloatTensor mat2)
* (float beta, torch.FloatTensor mat1, torch.FloatTensor mat2)
* (float alpha, torch.FloatTensor mat1, torch.FloatTensor mat2)
* (float beta, torch.SparseFloatTensor mat1, torch.FloatTensor mat2)
* (float alpha, torch.SparseFloatTensor mat1, torch.FloatTensor mat2)
* (float beta, float alpha, torch.FloatTensor mat1, torch.FloatTensor mat2)
* (float beta, float alpha, torch.SparseFloatTensor mat1, torch.FloatTensor mat2)
[1] http://pytorch.org/tutorials/intermediate/char_rnn_generation_tutorial.html#Creating-the-Network