sigmoid 函数
#include <cmath>
float sigmoid(float x)
{
return 1.0f / (1+exp(-x))
}
import math
def sigmoid(x):
return 1/(1+math.exp(-x));
sigmoid反函数
=> => =>
即
#include <cmath>
float desigmoid(float x)
{
return -log(1.0f/x -1);
}
import math
def desigmoid(x):
return -math.log(1/y -1)
优化举例说明
例如使用瑞芯微的rknn对yolov5模型进行推理,由于硬件限制,在rknn上需要手动处理anchor等后处理步骤。
在求输出框的置信度的时候需要对输出做sigmoid处理,然后和设置的阈值做过滤。
在嵌入式设备中可以提前将阈值做一个desigmoid操作,直接和未经过sigmoid处理的置信度做过滤。