After the first batch was evaluated, I kept getting this error:
imi@imi-All-Series:~/graulef/deep-soli$ th net/main.lua --file ../datapre --list config/file_half.json --load ../uni_image_np_50.t7 --inputsize 32 --inputch 4 --label 11 --datasize 32 --datach 4 --batch 16 --maxseq 40 --cuda --cudnn
[eval] data with 1364 seq
[net] loading model ../uni_image_np_50.t7
nn.Sequencer @ nn.Recursor @ nn.MaskZero @ nn.Sequential {
[input -> (1) -> (2) -> (3) -> (4) -> (5) -> (6) -> (7) -> (8) -> (9) -> (10) -> (11) -> (12) -> (13) -> (14) -> (15) -> (16) -> (17) -> (18) -> (19) -> (20) -> (21) -> output]
(1): cudnn.SpatialConvolution(4 -> 32, 3x3, 2,2)
(2): nn.SpatialBatchNormalization (4D) (32)
(3): cudnn.ReLU
(4): cudnn.SpatialConvolution(32 -> 64, 3x3, 2,2)
(5): nn.SpatialBatchNormalization (4D) (64)
(6): cudnn.ReLU
(7): nn.SpatialDropout(0.400000)
(8): cudnn.SpatialConvolution(64 -> 128, 3x3, 2,2)
(9): nn.SpatialBatchNormalization (4D) (128)
(10): cudnn.ReLU
(11): nn.SpatialDropout(0.400000)
(12): nn.Reshape(1152)
(13): nn.Linear(1152 -> 512)
(14): nn.BatchNormalization (2D) (512)
(15): cudnn.ReLU
(16): nn.Dropout(0.5, busy)
(17): nn.Linear(512 -> 512)
(18): nn.LSTM(512 -> 512)
(19): nn.Dropout(0.5, busy)
(20): nn.Linear(512 -> 13)
(21): cudnn.LogSoftMax
}
/home/imi/graulef/datapre/0_12_20/label.json
/home/imi/graulef/datapre/0_10_18/label.json
/home/imi/graulef/datapre/0_6_8/label.json
/home/imi/graulef/datapre/0_3_0/label.json
/home/imi/graulef/datapre/0_12_22/label.json
/home/imi/graulef/datapre/0_13_10/label.json
/home/imi/graulef/datapre/0_12_3/label.json
/home/imi/graulef/datapre/0_5_14/label.json
/home/imi/graulef/datapre/0_10_15/label.json
/home/imi/graulef/datapre/0_2_5/label.json
/home/imi/graulef/datapre/0_3_5/label.json
/home/imi/graulef/datapre/0_3_18/label.json
/home/imi/graulef/datapre/0_12_21/label.json
/home/imi/graulef/datapre/0_5_21/label.json
/home/imi/graulef/datapre/0_10_20/label.json
/home/imi/graulef/datapre/0_13_6/label.json
Evaluation passed
2
just used :norm without error
/home/imi/torch/install/bin/luajit: /home/imi/torch/install/share/lua/5.1/rnn/MaskZero.lua:55: invalid arguments: CudaTensor CudaTensor number
expected arguments: *CudaTensor* CudaByteTensor float
stack traceback:
[C]: in function 'maskedFill'
/home/imi/torch/install/share/lua/5.1/rnn/MaskZero.lua:55: in function 'recursiveMask'
/home/imi/torch/install/share/lua/5.1/rnn/MaskZero.lua:99: in function 'updateOutput'
/home/imi/torch/install/share/lua/5.1/rnn/Recursor.lua:27: in function 'updateOutput'
/home/imi/torch/install/share/lua/5.1/rnn/Sequencer.lua:94: in function 'forward'
./net/rnntrain.lua:33: in function 'batchEval'
./net/train.lua:25: in function 'epochEval'
./net/train.lua:47: in function 'train'
net/main.lua:45: in main chunk
[C]: in function 'dofile'
.../imi/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
[C]: at 0x004065d0
It can be fixed by warping the part of code in the rnn library. Line number might differ, just look for the line of code where the mask is applied:output:maskedFill(zeroMask, 0). The file you wanna fix is /home/usr/torch/install/share/lua/5.1/rnn/MaskZero.lua. Warping works like this:
if(zeroMask:type() == 'torch.CudaTensor') then
zeroMask = zeroMask:cudaByte()
end
output:maskedFill(zeroMask, 0)
if(zeroMask:type() == 'torch.CudaByteTensor') then
zeroMask = zeroMask:cuda()
end
This solved the issue for me, hope this helps if anyone has the same problem!
After the first batch was evaluated, I kept getting this error:
It can be fixed by warping the part of code in the rnn library. Line number might differ, just look for the line of code where the mask is applied:output:maskedFill(zeroMask, 0). The file you wanna fix is /home/usr/torch/install/share/lua/5.1/rnn/MaskZero.lua. Warping works like this:
This solved the issue for me, hope this helps if anyone has the same problem!