sigmoid softmax优化

1.前言

最近在搞模型部署发现,推理速度不能满足我们需求,于是最近学习了优化算子技巧,学到了sigmoid,softmax算子优化,真的数学之美。

2.sigmoid算子优化

一.算子优化图

在这里插入图片描述
我们根据sigmoid公式,我们进行求反函数,于是有了上面的等式变化,我们只需要把模型输出的值,直接与阈值比较就可以,比如阈值0.5得分我们可以通过上面等式,换算成模型输出的值,这样模型输出的值,就可以直接比较了,大大减少了运算,少了一层sigmoid。

二.python代码实现

import numpy as np
def sigmoid(x):
    
    return 1 / (1 + np.exp(-x))

def desigmoid(y):
    
    return -np.log(1 / y -1)

if __name__ == "__main__":
    score = sigmoid(0.5)
    descore = desigmoid(score)
    print(score)
    print(descore)
0.6224593312018546
0.5
代码输出结果符号预期

3.sotfmax算子优化

一.算子优化图(注意本次只讨论两个类情况)

在这里插入图片描述
根据上面的公式推导,发现,把sotfmax,做一些变换后,发现是sigmoid函数,于是我们可以借用上面的sigmoid函数优化思路去优化。注意这里面的(y是正样本输出值,x是负样本输出的值,是网络输出的值)

二.python代码实现

def softmax(x, y):
    n, p = np.exp(x), np.exp(y)
    return n/(n + p), p / (n + p)
x = 120
y = 54
n, p = softmax(x, y)
p
2.1705220113036395e-29

sigmoid(y - x)
2.1705220113036392e-29
符合我们预期

4.总结

简单记录本次优化思路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/271890.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript 中的双等号(==)和三等号(===)有何不同?何时使用它们?

​🌈个人主页:前端青山 🔥系列专栏:JavaScript篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-等号区别 目录 和 区别,分别在什么情况使用 一、等于操作符…

wxWidgets实战:wxGrid创建表单之复选框样式

1》 创建wxGrid WX_GRID* m_fieldsGrid m_fieldsGrid new WX_GRID( sbFields->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );m_fields new FIELDS_GRID_TABLE<SCH_FIELD>( this, aParent, m_fieldsGrid, m_symbol );FDC_SHOW_NAME FDC_SHOW_…

视频监控EasyCVR如何通过设置sei接口,实现在webrtc视频流中添加画框和文字?

安防视频监控系统基于视频综合管理平台EasyCVR视频系统&#xff0c;采用了开放式的网络结构&#xff0c;可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;具备权限管…

嵌入式开发——ARM介绍

ARM架构 ARM是一种芯片架构,由英国的ARM Holdings公司开发和授权,被广泛应用于各种嵌入式系统、移动设备和消费电子产品中。ARM架构被设计成低功耗、高性能、可定制化的特点,能够满足各种应用场景下的需求。 ARM架构主要设计了以下几个部分内容: 指令集架构(Instruction…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)EventLoop初始化

这个Dispatcher是一个事件分发模型&#xff0c;通过这个模型,就能够检测对应的文件描述符的事件的时候,可以使用epoll/poll/select,前面说过三选一。另外不管是哪一个底层的检测模型,它们都需要使用一个数据块,这个数据块就叫做DispatcherData。除此之外,还有另外一个部分,因为…

Leetcode---376周赛---中位数贪心

题目列表 2965. 找出缺失和重复的数字 2966. 划分数组并满足最大差限制 2967. 使数组成为等数数组的最小代价 2968. 执行操作使频率分数最大 一、找到缺失和重复的数字 由于数据范围不是很大&#xff0c;可以直接暴力统计每个数字出现的次数&#xff0c;时间复杂度为O(n^2…

使用css实现旋转木马HTML

使用css实现旋转木马HTML 效果图 实现代码如下 <!DOCTYPE html> <html lang"zh-cn"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

分享msvcr120.dll丢失怎样修复,修复msvcr120.dll文件

在使用电脑的过程中你是不是遇到过msvcr120.dll丢失的情况&#xff0c;那么有什么办法能够解决msvcr120.dll丢失的文件&#xff0c;今天的这篇文章就一个目的&#xff0c;教会大家有效的解决msvcr120.dll 丢失的问题&#xff0c;&#xff0c;接下来就教大家msvcr120.dll丢失怎样…

MR实战:分科汇总求月考平均分

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建学生实体类5、创建科目平均分映射器类…

【数据结构初阶】二叉树(2)

二叉树顺序结构 1.二叉树的顺序结构及实现1.1二叉树的顺序结构 1.2 堆的概念及结构1.3 堆的实现1.3.1向上调整1.3.2向下调整1.3.3交换函数1.3.4打印1.3.5初始化1.3.6销毁1.3.7插入1.3.8删除1.3.9获得堆顶元素1.3.10判断是否为空1.3.6 堆的代码实现 1.3.2堆的创建1.3.3 建堆时间…

CV 语义分割的基础和应用 | 附源码步骤

引言 计算机视觉中的语义分割是一个引人入胜且迅速发展的领域。它涉及将图像分割为有意义的部分&#xff0c;并将每个部分分类为预定义的类别之一。本文将探讨在计算机视觉领域中语义分割的重要性、技术、应用、挑战以及未来前景。 每个像素都讲述一个故事&#xff1a;透过语义…

关于解决微服务A调用微服务B的接口获取不到数据

前提&#xff1a; 1、首先&#xff0c;你得确保写的不同微服务之间调用接口时没有任何问题的&#xff0c;可以参考我上一篇文章&#xff1b; 2、其次&#xff0c;你需要具备怎么去调试&#xff0c;怎么去定位问题。 具备以上两点其实问题就迎刃而解了。先来看看我的问题吧 问题…

Doraemon-接口自动化测试工具

这是一个自动生成接口测试测试用例的项目, 您可以通过如下方式使用他 run in python3 当你git clone 该项目后,可以通过如下命令配置你的环境 如果你习惯使用venv环境, 那么你可以进行如下操作 >>> cd doraemon >>> . venv/bin/activate >>> pip3 i…

华为防火墙双机热备

实验需求&#xff1a; 如图所示&#xff0c;PC1为公司内部网络设备&#xff0c;AR1为出口设备&#xff0c;在FW1和FW2上配置双机热备&#xff0c;当网络正常时PC1访问AR1路径为FW1-AR1&#xff0c;当FW1出现故障后&#xff0c;切换路径为FW2-AR1。 实现目的&#xff1a; 了解…

Matlab:解非线性方程组

1、基于问题求解非线性方程组 例&#xff1a; xoptimvar(x,2); %将x定义为一个二元素优化变量 eq1exp(-exp(-(x(1)x(2))))x(2)*(1x(1)^2); %创建第一个方程作为优化等式表达式 eq2x(1)*cos(x(2))x(2)*sin(x(1))1/2; %创建第二个方程作为优化等式表达式 probe…

nextTick的使用

场景&#xff1a; 左边的树有被选中项&#xff0c;则显示右边的内容&#xff0c;且清除右边表格的被选中项 代码大概就是 选中左边的树然后执行 this.$refs.treeRef.setCurrentRow(); // 取消表格高亮行 然后报错&#xff1a; 解决&#xff1a; 在外面包一层this.$nextTi…

AI可以一键生成的年终工作总结思维导图了!(内附10张年终总结模版)

月交替&#xff0c;斗转星移。不知不觉&#xff0c;2023年的进度条已经所剩无几了&#xff01; 又到了一年一度写年终总结的时候了&#xff0c;很多小伙伴是不是又开始发愁了&#xff0c;ProcessOn 告诉你不用担心&#xff0c; 我们今年上线了&#xff0c;AI一键生成各行各业年…

挑战与应对:迅软科技探讨IT企业应对数据泄密危机的智慧之路

随着信息技术的快速发展&#xff0c;软件IT行业面临着前所未有的数据安全挑战。黑客攻击、病毒传播、内部泄密等安全威胁层出不穷&#xff0c;给企业的核心资产和运营带来严重威胁。同时&#xff0c;国家对于数据安全的法律法规也日益严格&#xff0c;要求企业必须采取更加有效…

亚马逊云科技创业加速器,帮助企业重塑业务并加速生成式AI之旅

经济蓬勃发展的时代&#xff0c;每一个初创企业都可能成为未来独角兽。随着创新科技快速发展、层出不穷&#xff0c;生成式AI席卷全球&#xff0c;各行各业游戏规则面临重构&#xff0c;也为初创企业带来巨大机遇。 初创公司值得信赖的云计算厂商 全球排名前1000的独角兽&#…

Java多线程技术五——单例模式与多线程-备份

1 概述 本章的知识点非常重要。在单例模式与多线程技术相结合的过程中&#xff0c;我们能发现很多以前从未考虑过的问题。这些不良的程序设计如果应用在商业项目中将会带来非常大的麻烦。本章的案例也充分说明&#xff0c;线程与某些技术相结合中&#xff0c;我们要考虑的事情会…