自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (2)
  • 收藏
  • 关注

转载 extern详解

extern关键字详解

2022-12-27 20:42:02 35333 1

原创 利用两个小demo理解汇编代码排查内存溢出问题

近日处理现场问题时遇到了踩内存导致的崩溃问题,然而个人对反汇编程序执行过程不熟悉,通过查阅资料,对比分析两个小demo理解汇编代码踩内存的分析。

2022-11-28 22:17:12 651

原创 收藏的链接

认真分析mmap:是什么 为什么 怎么用 - 胡潇 - 博客园mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针https://www.cnblogs.com/huxiao-tee/p/4660352.htmlC++11 并发指南系列 - Haippy - 博客园本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程ht

2022-01-06 14:22:37 265

转载 依赖、关联、聚合和组合之间区别的理解

在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设计模式中类的关系》中已经有所提及,下面就来详细的论述一下在Java中如何准确的体现依赖、关联、聚合和组合。首先看一看书上对这四种关系的定义:依赖(Dependency)关系是类与类之间的联接。依赖关系表示一个类依赖于另一个类的定义。例如,一个人(Pe

2021-06-21 20:24:12 410

原创 Linux常用命令

查看:ulimit -n设置:ulimit -n 20480 #设置句柄上限为20480备注:一些Linux系统上,进程句柄上限默认为1024,当运行程序的句柄数目超过1024时,若不进行设置,会导致相关系统接口调用失败,进而引起功能不可用等问题。一般需要在Linux应用运行前进行确认。命令:export MALLOC_ARENA_MAX=1备注:Linux下默认会进行内存的预分配,表现为在开启相同的业务下与Windows下的内存占用相差较大(相差几个数量级)。设置之后可...

2021-06-16 16:00:15 136

原创 脚本文件常用命令

附录1. Shell脚本命令shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效、安全、低成本地使用 Linux 内核,这就是 Shell 的本质。shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。注释“# ”开头的就是注释,被编译器忽略单行注释:#,多行注释: :<变量变量类型运行shell时,会同时存在三种变量:局部变量:局..

2021-06-03 15:00:01 1809

转载 Windows内存类型介绍

Windows上的内存有好几种说法,比如工作集(Working Set)、提交大小(Private Bytes)、虚拟大小(Virtual Size)。究竟这几种说法有什么区别?每种内存到底指的是什么?哪种内存才能真正反映程序使用的内存情况?虽然做Windows开发这么久,一直对这些只有模糊的认识。如果你去网上找寻答案,可能会找到一些错误的或者矛盾的说法,这更加让人感到迷惑。最近要处理Chromium内核一些因此内存不足而导致的崩溃问题,所以才深入去研究一下这个问题。Windows上的程序都有自己专有的

2021-05-31 14:01:31 515

转载 搬运! Windbg调试命令详解

转载注明>>【作者:张佩】【原文:http://www.yiiyee.cn/Blog】1. 概述用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe、ntsd.exe、kd.exe和Windbg.exe。其中cdb.exe和ntsd.exe只能调试用户程序,Kd.exe主要用于内核调试,有时候也用于用户态调试,上述三者的一个共同特点是,都只有控制台界面,以命令行形式工作。Windbg.exe在用户态、内核态下都能够发挥调试功能,尤其.

2021-02-07 10:57:52 2614

原创 C++笔记(一)

C++基础1. C++能做什么后台服务程序,可运行于windows/linux系统 设备接入服务程序(VAG),流媒体服务器(VTDC)、联网网关(NCG)等。桌面客户端程序 电视墙客户端、视频巡逻客户端等网页插件、一般为IE浏览器插件 预览控件、回放控件、地图插件等。各种SDK程序 海康的设备网络SDK(HCNetSDK)、取流库、播放库等。2. 面向对象-基本概念 对象是对客观事物的抽象,类是对对象的抽象 对象(Object)是类(class)...

2020-11-18 18:36:50 298 1

原创 C++笔记(二)

1. extern用法 变量前有extern不一定就是声明,而变量前无extern就只能是定义。 注:定义要为变量分配内存空间;而声明不需要为变量分配内存空间。 https://www.runoob.com/w3cnote/extern-head-h-different.html 简单总结:a.h 中extern声明,a.c中定义 ->b.h 中extern声明或者 添加头文件 2. __stdcall __stdcall 是 Standard Ca......

2020-11-17 11:53:33 235

原创 Effective C++读书笔记

让自己习惯C++条款01:将C++视为一个语言联邦条款02:尽量以const、enum、inline替换#define(宁可以编译器替换预处理器)#define在预处理中处理,宏不会被记号表(symbol table)记录关于const常量指针的定义需要将指针声明为const,因为通常常量指针在头文件中可以被其他源文件使用,const两次const char* const authorname = “Scott Meyers”class专属常量,#define并不重视作用域,也

2020-11-12 09:32:29 329

转载 统一建模语言

统一建模语言(Unified Modeling Language,UML)1. 依赖关系依赖(Dependency)关系是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。2. 关联关系关联(Association)关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。关联关系是类与类之间最常用的一种

2020-11-03 14:00:48 246

原创 一文详解常用的激活函数

常见的激活函数及其特点什么是激活函数?神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)。激活函数的用途(为什么需要激活函数)?如果不用激励函数(其实相当于激励函数是f(x)=...

2019-10-11 15:12:08 765

原创 为什么L1和L2正则化可防止过拟合

为什么L1和L2正则化可防止过拟合线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参数(减少参数的数量)来降低复杂度,L2是通过减小参数值的大小来降低复杂度。网上关于L1和L2正则化降低复杂度的解释五花八门,易让人混淆,看完各种版本的解释后过几天又全部忘记了。因此,文章的内容总结了网上各种...

2019-10-08 17:11:12 1523

原创 如何防止过拟合和欠拟合

如何防止过拟合和欠拟合过拟合(Over-Fitting)高方差在训练集上误差小,但在测试集上误差大,我们将这种情况称为高方差(high variance),也叫过拟合。欠拟合(Under-Fitting)在训练集上训练效果不好(测试集上也不好),准确率不高,我们将这种情况称为高偏差(high bias),也叫欠拟合。过拟合解决方法:其直观的表现如下图所示,随着训练过程的进行,模型复杂...

2019-10-06 16:54:59 921

原创 笔试题--层序输入一颗二叉树

在某一棵二叉树中找出和为某一值的所有路径输入格式:第一行 期望值第二行 按照层序遍历顺序给出的完全二叉树, 若空用 # 表示输入:96 3 1 # # 4 1 # # # # # # # 1输出:6 36 1 1 1#define _CRT_SECURE_NO_WARINGS#include <iostream>#inclu...

2019-07-30 22:05:18 1307

原创 数据结构笔记--KMP算法简单理解

KMP算法中的函数值只和模式串有关,而和相匹配的主串无关。例 主串:a c a b a a b a a b c a c a a b c模式串:a b a a b c a c1.首先,我们给模式串标上序号2.之后,我们把模式串的所有前缀依次列出来(虽然前缀不能为串本身,但在这里我么也将其列在最后面)3.接下来,我们要求得每一个子串中相等的前缀与后缀的最大长度我们拿第五个子串作...

2019-05-26 15:54:14 293

转载 数据结构笔记--KMP算法深入讲解

前言    之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。今天我在这里讲一讲我的一些理解,希望大家多多指教,如果有不清楚的或错误的请给我留言。...

2019-05-26 10:47:30 405

原创 回溯法简单举例

回溯法的核心思想:从一条路往前走,能进则进,不能进则退回来,换一条路再试。letter-combinations-of-a-phone-number题目描述Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to le...

2019-05-24 09:49:13 637

原创 数据结构笔记--二叉树的递归、非递归遍历(前序、中序、后序)

转自https://www.cnblogs.com/SHERO-Vae/p/5800363.html【写在前面】  二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就 是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现...

2019-04-10 17:05:24 327

原创 数据结构笔记--二叉搜索树的查找、最值查找、插入和删除

新建一棵树 以#代替空树 上图树的输入值为 62 58 47 35 # 37 51 # # # # 88 73 # # 99 93 #二叉搜索树的概念对于一棵二叉搜索树,如果不为空,它应该满足以下三个特点:1、树上的任一结点,该结点的值都大于它的非空左子树的值。2、树上的任一结点,该结点的值都小于它的非空右子树的值。3、任一结点的左右子树都是二叉搜索树。查找...

2019-03-21 18:57:24 500

原创 数据结构笔记--树的广度优先遍历和深度优先遍历(递归、非递归)

1.广度优先遍历英文缩写为BFS即Breadth First Search。其过程检验来说是对每一层节点依次访问,访问完一层进入下一层,而且每个节点只能访问一次。对于上面的例子来说,广度优先遍历的 结果是:A,B,C,D,E,F,G(假设每层节点从左到右访问)。 先往队列中插入左节点,再插右节点,这样出队就是先左节点后右节点了。  广度优先遍历树,需要用到队列...

2019-03-16 17:44:09 3715

原创 数据结构笔记--链式二叉树建立、线索二叉树

链式二叉树建立//链式二叉树的建立 VS2017种存在scanf与scanf_s的区别 修改项目文件的sdl check为否 加入如下这句#define _CRT_SECURE_NO_WARNINGS# include &lt;stdio.h&gt;# include &lt;stdlib.h&gt;struct BiTree{ char data; struct BiT...

2019-03-14 20:51:12 355

原创 GBDT推导(林轩田)

第二节林从优化的角度推导了Adaboost,本人不才,没有看懂,可跳过一、RandomForest Vs AdaBoost-DTreeRF随机森林算法:通过bootstrapping有放回的抽样获取不同的训练数据Dt,不同的Dt可同时并行化生成多棵决策树最后将多棵决策树‘一人一票’的方式结合生成G。 AdaBoost-DTree:通多重赋权reweight(样本权重Ut)的方式获取不同的...

2019-03-13 20:04:52 1224

原创 数据结构笔记--查找

静态查找表:只进行查找操作的查找表动态查找表:在查找过程中同时插入查找表中不存在的元素,或者删除已存在的元素1.顺序表查找:从第一个或者最后一个记录开始,将每个记录的关键字与给定值比较,若相等则查找成功。C实现:# include &lt;stdio.h&gt;# include &lt;stdlib.h&gt;int Sequential_Search(int *arr, int ...

2019-03-10 20:03:49 187

原创 数据结构笔记--排序

经典排序算法算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。算法复杂度稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如...

2019-03-10 19:57:01 261

原创 朴素贝叶斯

预备知识先验概率 事件发生前的预判概率。可以是基于历史数据的统计,可以由背景常识得出,也可以是人的主观观点给出。一般都是单独事件概率,如P(X),P(Y)。 条件概率 一个事件发生后另一个事件发生的概率。一般的形式为P(X|Y),表示Y发生的条件下X发生的概率。 后验概率 事件发生后求的反向条件概率;或者说,基于先验概率求得的反向条件概率。表达形式与条件概率相同。如P(Y|X) ...

2019-03-08 15:52:38 190

原创 数据结构笔记--快速幂算法

快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,时间复杂度是O(b)为O(n)级别,快速幂能做到O(logn)原理如下: 假设我们要求a^b,那么其实b是可以拆成二进制的,该二进制数第i位的权为2^(i-1),例如当b==11时a11=a(2^0+2^1+2^3)11的二进制是1011,11 = 2³×1 + 2²×0 + 2...

2019-03-07 21:24:52 321

转载 图解十大经典机器学习算法

弱人工智能近几年取得了重大突破,悄然间,已经成为每个人生活中必不可少的一部分。以我们的智能手机为例,看看到底温藏着多少人工智能的神奇魔术。下图是一部典型的智能手机上安装的一些常见应用程序,可能很多人都猜不到,人工智能技术已经是手机上很多应用程序的核心驱动力。图1 智能手机上的相关应用传统的机器学习算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。这篇文章将对...

2019-03-03 19:25:16 288

转载 机器学习---生成模型与判别模型

生成模型(GenerativeModel)是相对于判别模型(Discriminative Model)定义的。他们两个都用于有监督学习。监督学习的任务就是从数据中学习一个模型(也叫分类器),应用这一模型,对给定的输入X预测相应的输出Y。这个模型的一般形式为决策函数Y=f(X)或者条件概率分布P(Y|X)。首先简单说明下贝叶斯定理贝叶斯定理是英国数...

2019-03-02 15:54:22 446

原创 郝斌数据结构--树

模块二 非线性结构树定义有且只有一个称为根的节点 有若干个互不相交的子树,这些子树本身也是一棵树通俗定义树是由节点和边组成 但有一个节点例外,该节点没有父节点,此节点称为根节点 每个节点只有一个父节点但可以有多个子节点专业术语节点 父节点 子节点 子孙 兄弟 堂兄弟 深度:从根节点到最底层节点的层数称为深度,根节点是第一层 叶子节点:没有子节...

2019-01-16 18:32:17 673

原创 郝斌数据结构--递归专题

专题 递归定义 把一个直接调用自己或通过一系列的调用语句间接地调用自己的函数,称做递归函数。递归的思想 将大规模(n)的问题转换成小规模(n-1)的问题解决递归满足三个条件递归必须得有一个明确得中止条件 该函数所处理得数据规模必须在递减 这个转化必须是可解得循环和递归得关系 递归的特点: (1)易于理...

2019-01-15 16:30:24 270

原创 郝斌数据结构--栈和队列

线性结构的两种常见应用之一 栈定义 一种可以实现“先进后出”的存储结构分类静态栈 类似数组的结构动态栈 类似链表的结构栈的应用(1)函数调用(所有的函数调用都是压栈与出栈) 所谓函数A调用函数B就是把A的最后执行的一个语句的地址与调用的B函数的 所有内容压到一个栈内部去执行,执行完毕出栈,然后地址出栈接着执行A函数(2)中断(中断...

2019-01-14 21:34:53 384

原创 郝斌数据结构--链表

模块一:线性结构连续存储【数组】1.数组定义元素类型相同, 大小相等2.数组的优缺点# include <stdio.h># include <malloc.h># include <stdlib.h># include <stdbool.h>//定义了一个数据类型,struct Arrstruct Arr{ in...

2019-01-13 21:44:39 559 1

原创 郝斌数据结构--预备知识

数据结构概述定义算法1. 时间复杂度 大概程序执行的次数,而非执行的时间2. 空间复杂度 所占内存3. 难易程度4. 健壮性计算算法时间复杂度 推倒大o阶方法- 用常数1取代运行时间中的所有加法常数- 在修改后的运行次数函数中 只保留最高阶项- 如果最高阶项存在且不是1 则去除与这个项相乘的常数常数阶线性阶 (单循环)平方阶(嵌套循环)对数阶...

2019-01-11 16:56:07 336

转载 怎样提升深度学习的性能(全面总结)

你是如何提升深度学习模型的效果?这是我经常被问到的一个问题。有时候也会换一种问法:我该如何提高模型的准确率呢?……或者反过来问:如果我的网络模型效果不好,我该怎么办?通常我的回答是“具体原因我不清楚,但我有一些想法可以试试”。然后我会列举一些我认为能够提升性能的方法。为了避免重复罗列这些内容,我打算在本文中把它们都写出来。这些想法不仅可以用于深度学习,事实上可以用在任何机器学习的...

2018-12-13 10:28:52 967

转载 怎样提升深度学习的性能

方便个人查阅,如有侵权请联系删除原文地址: https://mp.weixin.qq.com/s/gEksfYsvbfEvlECH1rJ1gA你是如何提升深度学习模型的效果? 这是我经常被问到的一个问题。 有时候也会换一种问法: 我该如何提高模型的准确率呢? ……或者反过来问: 如果我的网络模型效果不好,我该怎么办? 通常我的回答是:“具体原因我不清楚,但我有一...

2018-12-13 09:54:47 365

转载 称霸Kaggle的十大深度学习技巧

转载方便个人学习查找,如有侵权请联系删除作者 Samuel Lynn-Evans王小新 编译自 FloydHub Blog量子位 出品 | 公众号 QbitAI在各种Kaggle竞赛的排行榜上,都有不少刚刚进入深度学习领域的程序员,其中大部分有一个共同点:都上过Fast.ai的课程。这些免费、重实战的课程非常鼓励学生去参加Kaggle竞赛,检验自己的能力。当然,也向学生们传授了...

2018-12-08 16:24:48 463 1

原创 pytorch如何计算显存大小

参考连接pytorch 减小显存消耗,优化显存使用避免 outofmemory https://blog.csdn.net/qq_28660035/article/details/80688427如何计算模型以及中间变量的显存占用大小:https://oldpan.me/archives/how-to-calculate-gpu-memory如何在Pytorch中精细化利用显存:htt...

2018-12-07 20:33:10 10546 2

原创 PyTorch中使用预训练的模型初始化网络的一部分参数(增减网络层,修改某层参数等) 固定参数

在预训练网络的基础上,修改部分层得到自己的网络,通常我们需要解决的问题包括: 1. 从预训练的模型加载参数 2. 对新网络两部分设置不同的学习率,主要训练自己添加的层 一. 加载参数的方法: 加载参数可以参考apaszke推荐的做法,即删除与当前model不匹配的key。代码片段为:model = ...model_dict = model.state_dict()# 1. fi...

2018-12-05 11:29:59 22100 8

读书笔记----设计模式

读书笔记----设计模式

2022-02-09

读书笔记-C++内存管理

读书笔记-C++内存管理

2022-02-09

空空如也

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

TA关注的人

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