Element-Research / rnn

Recurrent Neural Network library for Torch7's nn
BSD 3-Clause "New" or "Revised" License
938 stars 314 forks source link

Error with Zero Mask When using CudaHalfTensor #385

Open mtanana opened 7 years ago

mtanana commented 7 years ago

When running a model using the new CudaHalfTensor, you get an error in the zero mask:

/torch/install/share/lua/5.1/nn/Container.lua:67:
In 2 module of nn.Sequential:
...torch/install/share/lua/5.1/rnn/SeqLSTM.lua:260: invalid arguments: ByteTensor CudaHalfTensor number
expected arguments: [*CudaByteTensor*] CudaHalfTensor half | *CudaHalfTensor* CudaHalfTensor half | [*CudaByteTensor*] CudaHalfTensor CudaHalfTensor | *CudaHalfTensor* CudaHalfTensor CudaHalfTensor
stack traceback:
        [C]: in function 'eq'
        .../torch/install/share/lua/5.1/rnn/SeqLSTM.lua:260: in function <.../torch/install/share/lua/5.1/rnn/SeqLSTM.lua:169>
        [C]: in function 'xpcall'
        ...AA/torch/install/share/lua/5.1/nn/Container.lua:63: in function 'rethrowErrors'
        ...A//torch/install/share/lua/5.1/nn/Sequential.lua:44: in function 'forward'
        ./seq2seq.lua:220: in function 'opfunc'
        ...A//torch/install/share/lua/5.1/optim/adagrad.lua:31: in function 'adagrad'
        ./seq2seq.lua:258: in function 'trainOptim'
        trainoptim.lua:276: in main chunk
        [C]: in function 'dofile'
        .../torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
        [C]: at 0x00405810

I think I see where the issue is on line SeqLSTM.lua line 259

self.zeroMask = self.zeroMask or ((torch.type(cur_x) == 'torch.CudaTensor') and torch.CudaByteTensor() or torch.ByteTensor())