Search code examples
luatorchtensor

how to perform the output binarization of a torch model


I have to binarize the output o of a torch model (lua script), the value range is [-1,+1], i want to threshold those values in such a way that:

0 if o[i]<0
1 if o[i]>=0

The output is composed by 32 layers with size 1x1 float tensors, so 32 floats, i want to get 32 bits from those 32 floats but i cannot find a layer that allows to do that.

At the moment I have a for cycle that checks the value of each level but it is very slow.

Maybe I can use the threshold layer or implement one by my own, do you have any advice?


Solution

  • You can use the 'greater or equal than' operator https://github.com/torch/torch7/blob/master/doc/maths.md#torchgea-b

    local threshold_tensor = o:ge(0)