如何执行火炬模型的输出二值化

how to perform the output binarization of a torch model

我必须对火炬模型(lua 脚本)的输出 o 进行二值化,值范围是 [-1,+1],我想在这样的情况下对这些值进行阈值处理这样:

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

输出由 32 层组成,大小为 1x1 浮点数张量,所以 32 个浮点数,我想从这 32 个浮点数中获得 32 位,但我找不到允许这样做的层。

目前我有一个 for 循环来检查每个级别的值,但是它非常慢。

也许我可以使用阈值层或自己实现一个,你有什么建议吗?

您可以使用 'greater or equal than' 运算符 https://github.com/torch/torch7/blob/master/doc/maths.md#torchgea-b

local threshold_tensor = o:ge(0)