自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 PyTorch模型转ONNX例子

【代码】PyTorch模型转ONNX例子。

2025-03-21 00:10:55 262

原创 机器学习模型转ONNX例子

【代码】机器学习模型转ONNX例子。

2025-03-19 21:59:07 102

原创 Leetcode刷题. 双指针

这道题主要考察相向运动的条件以及终止条件。双指针的应用:包含多种双指针。

2024-10-17 23:42:27 208

原创 Leetcode刷题. 哈希表数据结构的应用

这道题目主要是考察对于奇数回文串的处理,例如对于 "ccc"这种情况,在判断是奇数的时候,需要单独加上对应的个数。这里题型通常为简单题型,但是考察对基础知识的掌握,以及灵活应用。

2024-10-17 23:09:49 227

原创 Leetcode刷题. 贪心算法

比较传统的解释:将整个问题拆解为几个小问题,找到小问题的最优解,加起来就是整个问题的全局最优解。对于现在的我理解贪心就是一种感觉,给出证明很难,解题思路一般就是认真读题,发掘题目的条件,然后尝试给出算法。一个显而易见的条件:水的面积取决于底边的长度和水池两边的最短边,因此可以首先选择最长的底边,然后在此基础上在选较高的水池的一边,在这个过程中计算面积最大值,保存即可。

2024-10-14 00:20:11 571

原创 逻辑学概论

对逻辑学有一些兴趣,偶然间翻到清华大学《逻辑学概论》 陈为蓬/清华大学公开课,在这里记录一下学习笔记与心得体会。逻辑学和实际生活中理解的逻辑差别较大,对现阶段帮助并不是很有帮助,有缘再更。逻辑学:以推理形式为主要研究对象的学科。推理:从已知条件(前提)得出结论的过程。eg. 所有的A都是B,C是A,C是B。

2024-10-13 23:31:53 255

原创 【大模型】1. 深度学习框架和推理框架概念

深度学习框架:用于构建、训练和部署神经网络模型,包含:TensorFlow、PyTorch、OneFlow等。LMIR:是TVM在优化和编译深度学习模型时使用的低级中间表示形式,用于表示模型的计算图和计算操作。深度学习模型交换格式ONNX:实现不同深度学习框架之间的模型转换和互操作性。TVM:是一个开源的深度学习编译器和优化器,

2024-05-07 16:08:48 439

原创 【More Effective C++】条款27:要求或禁止在堆中产生对象

方法:禁止使用隐式的析构函数,引进专用的伪析构函数,用来访问真正的析构函数。包含UPNumber对象的类可以修改为包含指向UPNumber的指针。析构函数声明为protected;弊端:该类不能被继承和被包含。

2024-04-30 13:53:39 217

原创 【More Effective C++】条款25:将构造函数和非成员函数虚拟化

如果以成员函数的方式重载operator

2024-04-29 14:19:51 238

原创 【More Effective C++】条款4:避免无用的缺省构造函数

【代码】【More Effective C++】条款4:避免无用的缺省构造函数。

2024-04-26 14:11:36 270

原创 【Effective Modern Cpp】条款9:优先考虑别名声明而非typedef

是什么,这就是为什么编译器会坚持要求你在前面加上。将会是一个数据成员,不是一个类型,在。是否表示一个类型取决于。

2024-04-24 11:36:14 278

原创 【More Effective C++】条款24:了解虚函数的成本

【代码】【More Effective C++】条款24:了解虚函数的成本。

2024-03-12 22:45:58 428

原创 【More Effective C++】条款11:禁止异常流出析构函数之外

【代码】【More Effective C++】条款11:禁止异常流出析构函数之外。

2024-03-11 23:15:02 391

原创 【More Effective C++】条款35:将非尾端类设计为抽象类

为了解决简单对象的赋值情况需要赋值转型成本,可以将拷贝函数进行重载。

2024-03-11 23:11:58 497

原创 【More Effective C++】条款8:new和delete的理解

operator new []:用于给数组对象分配内存,和单一版本的区别是调用构造函数的次数。程序员无法直接调用对象初始化的构造函数,所以在堆上创建对象必须使用new操作符。new:内建的操作符和sizeof一样,不能被改变意义,包含下面两个部分。operator new:只负责分配内存,可以被冲重载,改变内存分配方法。placement new:在指定的内存上构建对象,返回指向该对象的指针。上述创建对象的必须和删除对象的操作符对应起来。

2024-02-24 21:36:54 589

原创 【More Effective C++】条款6:区分前置++和后置++

后置++:返回一个const值的原因。

2024-02-23 22:56:09 438

原创 【More Effective C++】条款7:不要重载&&、||和,操作符

不能重载的原因是:不能保证函数的调用顺序,来和现有的行为保证一致。

2024-02-23 22:34:25 672

原创 【More Effective C++】条款22:采用op+=取代op+优势

operator+=比operator+效率高,可以通过返回值优化避免临时对象的构造和析构成本;

2024-02-22 22:44:59 661

原创 【More Effective C++】条款21:用重载技术避免隐式类型转换

【代码】【More Effective C++】条款21:用重载技术避免隐式类型转换。

2024-02-15 17:03:02 632

原创 【More Effective C++】条款20:返回值优化RVO

RVO:编译器将return表达式定义的对象构造于c内,减少了函数的临时对象的构造和析构。

2024-02-15 16:04:57 464

原创 【More Effective C++】条款19:了解临时对象的来源

临时对象:没有命名,不会出现在源代码中。

2024-02-15 15:49:56 865

原创 【More Effective C++】条款18:分期摊还预期的计算成本

【代码】【More Effective C++】条款10:分期摊还预期的计算成本。

2024-02-13 12:15:02 437

原创 【More Effective C++】条款17:考虑使用lazy evaluation

含义:将计算拖延到必须计算的时候,以下为4个场景优点:避免不必要的计算,节省成本。

2024-02-13 11:28:46 560

原创 【More Effective C++】条款10:构造函数内资源泄漏处理

场景:在构造函数中遇到异常的情况。

2024-02-12 16:49:05 448

原创 【More Effective C++】条款9:利用析构函数避免资源泄漏

思想:利用对象管理资源,用析构函数自动删除指针。

2024-02-12 15:46:43 385

原创 【More Effective C++】条款5:警惕隐式类型转换

转换成这种形式 if (a == static_cast(b[i]))if (a == b[i]) 忘记写了a[i],编译器不会报错,是因为发生的隐式转换;隐式类型转换操作符,可能导致错误的函数调用,应该提供显示的函数调用。

2024-02-11 16:24:44 903

原创 【More Effective C++】条款3:不以多态的方式处理数组

注意:通过array[i]操作本质上是*(array + i),通过父类指针操作子类,会出现未定义的行为。

2024-02-10 21:33:17 392

原创 【More Effective C++】条款2:使用C++转型操作符

注意:模拟的dynamic_cast不会进行是否转型成功的检查。

2024-02-10 19:36:06 454

原创 【More Effective C++】条款1:指针和引用区别

结论:除了上述情况,应该优先使用指针实现。

2024-02-10 18:08:24 570

原创 【程序员的自我修养】7. 动态链接

动态链接:将链接的过程推迟到运行时。

2024-02-02 23:06:26 566

原创 【Ubuntu 18.04 安装截图软件 flameshot 】

截完图后保存Ctrl+S,复制到剪贴板 Ctrl+C。创建快捷键:设备->键盘->+>输入名字和快捷键。

2024-01-31 15:51:24 633

原创 【程序员的自我修养】8. Linux共享库的组织

ABI接口(二进制接口):包含函数的堆栈接口、符号命名、参数规则和数据结构的内存分布。

2024-01-30 23:20:21 1055

原创 【More Effective C++】条款16:谨记80-20法则

80-20法则说一个程序80%的资源用于20%代码上:软件的整体性能几乎是代码的一小部分决定的,即使性能瓶颈所在:

2024-01-27 23:20:18 501

原创 【Effective C++】6. 继承与面向对象设计

通过public继承建模,应该慎重思考父类和子类的关系,考虑下面两个例子。

2024-01-24 22:21:12 602

原创 【Effective C++11】5. 实现

【代码】【Effective C++11】5. 实现。

2024-01-23 22:40:25 758

原创 【Effective C++】4. 设计与声明

1. 语法一致性:访问class成员时每一个都是函数,不需要记住是否需要小括号。2. 使成员变量的处理有更精准的控制。3. 实现良好的封装特性。

2024-01-22 23:54:22 585 1

原创 【Effective C++】3. 资源管理

考虑以下场景,delete都不会执行,资源都会泄漏,上述函数可以使用智能指针的方式修改。

2024-01-21 15:09:45 754

原创 【Effective C++】2. 构造/析构/赋值运算

2. 如果显式定义了其中的任何一个特殊成员函数,编译器将不会生成默认的对应函数;3. 默认拷贝赋值函数只有生成代码合法的情况下才会被创建。

2024-01-20 16:48:02 1175

原创 【Effective C++】1. 让自己习惯C++

1. 预处理器只进行简单的替换,变量名称不会被记录符号表,同时可能导致编译的目标文件包含常量的多份拷贝;2. 定义字符串的采用string替换char*,避免写两次const的情况出现;3. #define没有作用域,不能将常量的作用域限制在class内;5. enum 和 #define定义的对象不会导致非必要的内存分配;4. 如果上述类中,编译器不允许在类中设定初值,可以改用枚举值替代;6. 形似函数的宏,最好用inline函数替换。

2024-01-19 23:31:00 1231

原创 【推荐系统实践—好的推荐系统】

推荐系统的任务是联系用户和信息,实现信息消费者和信息生产者的双赢推荐系统的组成:前台的展示界面,后台的日志系统和推荐算法。

2024-01-18 23:35:22 481

算法+快速排序+cpp简单实现

快速排序

2023-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除