First of all, thanks, its definitely an easy to follow CapsNet tutorial for me as a beginner, but I found an error after running the code:
RuntimeError: index_select(): argument 'index' must be Variable, not torch.cuda.LongTensor
I solved this issue same as gram-ai/capsule-networks#13, in Decoder class :
masked = masked.index_select(dim=0, index=max_length_indices.squeeze(1).data)
".data" should be removed.
Then I successfully trained on single GPU according to this tutorial, but when I tried to train the net on two GPUs according to PyTorch data parallelism tutorial :
if USE_CUDA:
print("Let's use %d GPUs" % torch.cuda.device_count())
capsule_net = nn.DataParallel(capsule_net).cuda()
but it produced an error
AttributeError: 'DataParallel' object has no attribute 'loss'
I'm confused, and if there is any good solution, please tell me, thanks!
(I use python 2.7.12 and pytorch 0.3.0.post4)
First of all, thanks, its definitely an easy to follow CapsNet tutorial for me as a beginner, but I found an error after running the code:
I solved this issue same as gram-ai/capsule-networks#13, in Decoder class :
".data" should be removed.
Then I successfully trained on single GPU according to this tutorial, but when I tried to train the net on two GPUs according to PyTorch data parallelism tutorial :
but it produced an error
AttributeError: 'DataParallel' object has no attribute 'loss'I'm confused, and if there is any good solution, please tell me, thanks!
(I use python 2.7.12 and pytorch 0.3.0.post4)