96、C++ 性能优化一览

news2024/10/6 23:38:53

在对 C++ 版本的 resnet50 经过大约 5 个版本的优化之后,性能也基本达到了预期。至少利用手写的 resnet50 在 CPU 上推理一张图片感觉不到卡顿了。

下面对这几个版本的性能优化做一个总结。

初始版本1

第一版本的 C++ 代码,并没有考虑性能问题,仅仅是想按照手写 resnet50 的想法,先将功能实现,并且确保手写的模型精度没问题,可以正确推理出一张图片。

作为一个基线版本,第一版也是耗费精力最大的一个版本,经过大量的调试之后,终于将模型的精度稳定在了一个可接受的范围内,在我的虚拟机上(基于 Intel CPU)测试了第一版本的性能数据为:

上面是测试了10几张图片的推理性能数据,平均推理一张图片延时为 17s,这个时间肯定是不行的。试想一下,假设人脸识别要等 17 s才能识别出来,使用者会是什么感受。

于是开启了后续几轮性能优化,每一轮优化都是在前面的基础上进行的。

优化版本2

本次优化重点是对卷积的乘累加操作进行的向量化,利用的是 Intel AVX2 指令集进行,将乘法和加法向量化,从而提升了卷积计算的速度,本次优化后,在相同的平台上测试,性能数据为:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【学习】torch.nn.CrossEntropyLoss交叉熵损失函数

交叉熵损失函数torch.nn.CrossEntropyLoss 交叉熵主要是用来判定实际的输出与期望的输出的接近程度,为什么这么说呢,举个例子: 在做分类的训练的时候,如果一个样本属于第K类,那么这个类别所对应的输出节点的输出值应…

腾讯云服务器99元一年是真的吗?只要61元!

腾讯云服务器99元一年是真的吗?假的,不要99,只要61元!又降价了!腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16…

腾讯云服务器99元一年是真的吗?又降价,现在只要61元

腾讯云服务器99元一年是真的吗?又降价,现在只要61元。腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16G12M服务器32元1个月、312元一年,…

【好书推荐-第九期】Sora核心技术相关书籍《扩散模型:从原理到实战》与《GPT 图解:大模型是怎样构建的》:Sora的两大核心技术,都藏在这两本书里!

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号:洲与AI。 🎈 本文专栏:本文收录…

底层day1作业

思维导图: 一.总结keil5下载代码和编译代码需要注意的事项 当使用Keil5下载代码和编译代码时,有一些需要注意的事项。以下是总结: 1. 确保正确配置目标 2. 配置编译器选项。 3. 确保正确配置连接器脚本 4. 检查编译错误和警告。 5. …

生成式模型实战—小小案例(python)

实战之前,环境需要已经搭建好。如果环境没有搭建好,可以参考PyTorch2.0 环境搭建详细步骤(Nvidia显卡)-CSDN博客 接下来,我们今天的学习之旅~ Step1. 安装类库 transformers pip install transformers Step2. 代码敬上 from transformer…

使用VS Code运行Java SpringBoot项目

本文并不详细讲 Java 项目启动前需要哪些配置,本文主要受众是平时用惯了 Idea 的 Java 程序员,仅讲解如何用 VS Code 启动服务 前提条件 Jdk、Maven、Nacos、Seata、TDengine等该配置的配置,该启动的启动,就你平时用 Idea 启动项…

力扣hot---岛屿数量

思路dfs: 首先通过两层for循环遍历每一个点,如果这个点为0或者2(这个2是什么呢?是在遍历该点以及该点连成的这一片区域中,因为通过深度优先搜索,遍历该点就等于遍历这一片区域,遍历这篇区域中的…

Qt 类的前置声明和头文件包含

1. 在头文件中引入另一个类经常有两种写法 1&#xff09;前置声明 2&#xff09;头文件包含 #ifndef FRMCOUPLE2_H #define FRMCOUPLE2_H#include <QWidget> //头文件包含namespace Ui { class frmcouple2; }//前置声明&#xff1a;QPushButton frmchkeyboard…

java网络编程 01 IP,端口,域名,TCP/UDP, InetAddress

01.IP 要想让网络中的计算机能够互相通信&#xff0c;必须为计算机指定一个标识号&#xff0c;通过这个标识号来指定要接受数据的计算机和识别发送的计算机&#xff0c;而IP地址就是这个标识号&#xff0c;也就是设备的标识。 ip地址组成&#xff1a; ip地址分类&#xff1a;…

基础小白快速入门web前端开发技术------>web概述

Web概述 我们在编程的学习中&#xff0c;随着学习的深入&#xff0c;我们会理解到WEB这个东西&#xff0c;那么 web究竟是个啥&#xff0c;到底该咋用&#xff1f; web&#xff0c;是网站的英文意思&#xff0c;又被称作“下一代Web3.0&#xff0c;互联网”&#xff0c;是在We…

2024.3.6

利用c语言通过sqlite3实现数据库增删改查&#xff1a; #include<myhead.h> int do_add(sqlite3 * ppDb) {char sql_insert[128]"insert into worker values ";char info[500]"";printf("请输入要添加的员工信息&#xff1a;\n");scanf(&…

Android开发揭秘,我了解到的面试的一些小内幕

前言 尤其是在最近一段时间内&#xff0c;感觉一天天的时间过得又慢又快&#xff0c;慢的是感觉复工了以后在公司的8.9个小时简直算是煎熬了&#xff0c;快的是常常感觉时间一天天&#xff0c;一月月的过去了&#xff0c;可是发现自己还在原路踏步走。看似每天忙成狗&#xff…

大学四年我从非科班到互联网大厂之路

文章目录 一、两度高考、依然选错&#xff1f;二、初来乍到、陷入囹圄三、破局重生、从头再来四、找实习的坎坷之路五、提前结束实习&#xff0c;开始秋招六、秋招一路凯歌七、写在最后&#xff1a;人生是一场长久的旅途 很久没来CSDN上写过文章了&#xff0c;上一次写已经是20…

HTML静态网页成品作业(HTML+CSS)——新年春节介绍网页设计制作(3个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示1、首页2、子页13、子页2 三、代码目录四、网站代码HTML部分代码CSS部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0…

Android开发经典实战,Android面试题目

关于Android的近况 大家都知道&#xff0c;今年移动开发不那么火热了&#xff0c;完全没有了前两年Android开发那种火热的势头&#xff0c;如此同时&#xff0c;AI热火朝天&#xff0c;很多言论都说Android不行了。其实不光是Android&#xff0c;iOS也有类似的言论。 那么到底…

人工智能如何重新定义数据迁移:利用人工智能趋势实现工作空间的平稳过渡

【由于上篇文章中IAB关于数据迁移并没有讨论人工智能技术如何整整推动和影响未来的数据迁移工作&#xff0c;因此特整理了两篇前沿文章&#xff0c;供大家参考 - - 对第六篇关于数据迁移的一个补充&#xff08;1&#xff09;​​​​​​​】 拥抱变化&#xff1a;数据迁移的发…

案例介绍:信息抽取技术在汽车销售与分销策略中的应用与实践

一、引言 在当今竞争激烈的汽车制造业中&#xff0c;成功的销售策略、市场营销和分销网络的构建是确保品牌立足市场的关键。作为一名经验丰富的项目经理&#xff0c;我曾领导一个专注于汽车销售和分销的项目&#xff0c;该项目深入挖掘市场数据&#xff0c;运用先进的信息抽取…

C++学习第七天(string类)

1、学习string的原因&#xff1f; C语言中的字符串 C语言中&#xff0c;字符串是以‘\0’结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;而且底层空间需要用户自己管…

决策树实验分析(分类和回归任务,剪枝,数据对决策树影响)

目录 1. 前言 2. 实验分析 2.1 导入包 2.2 决策树模型构建及树模型的可视化展示 2.3 概率估计 2.4 绘制决策边界 2.5 决策树的正则化&#xff08;剪枝&#xff09; 2.6 对数据敏感 2.7 回归任务 2.8 对比树的深度对结果的影响 2.9 剪枝 1. 前言 本文主要分析了决策树的分类和回…