自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 21天学通C++(十)学习标准模板库2

通过减少重新分配内存的次数,还可减少复制对象的时间,从而提高性能,这取决于存储在vector中的对象类型。同样,使用pop_back()将元素从vector中删除所需的时间是固定的,即不随vector存储的元素个数而异。这定义了一个动态分配的字符数组,其长度由变量arrayLen的值指定,而这种值是在运行阶段确定的,因此该数组的长度是可变的。vector的大小指的是实际存储的元素数,而vector的容量指的是在重新分配内存以存储更多元素前vector能够存储的元素数。该函数有多个重载版本。

2023-12-16 07:51:31 48

原创 21天学通C++(九)学习标准模板库1

用于存储信息的容器;用于访问容器存储的信息的迭代器;用于操作容器内容的算法。

2023-12-15 07:56:16 78

原创 21天学通C++(八)面向对象编程基础4

预处理器在编译器之前运行,换句话说,预处理器根据程序员的指示,决定实际要编译的内容。本小节重点介绍两种预处理器编译指令,一是使用#define定义常量,二是使用#define定义宏函数。这两个编译指令都告诉编译器,将每个宏实例替换为其定义的值。C++程序员通常在 .h 文件(头文件)中声明类和函数,并在 .cpp 文件中定义函数,因此需要在 .cpp 文件中使用预处理器编译指令 #include<header> 来包含头文件。

2023-12-14 07:43:43 64

原创 21天学通C++(七)面向对象编程基础3

在上述代码中,1000, 3.14,'a'和'hello!'都是字面量常量。C++增大了对字面量的支持力度,让用户能够自定义字面量。参数ValueType只能是下面几个之一,具体使用哪个取决于用户定义字面量的性质。:用于定义整型字面量。:用于定义浮点字面量。charwchar_tchar16_t和char32_t:用于定义字符字面量。:用于定义原始字符串字面量。和size_t:用于定义字符串字面量。和size_t:用于定义字符串字面量。和size_t。

2023-12-13 07:46:52 51

原创 21天学通C++(六)面向对象编程基础2

面向对象编程基于4个重要方面:封装、抽象、继承和多态。

2023-12-12 07:37:10 29

原创 21天学通C++(五)面向对象编程基础1

标准中,需要满足的条件存在细微的差别,但完全可以这样说,即满足如下条件的类或结构为聚合类型,可作为一个整体进行初始化:只包含公有和非静态数据成员,而不包含私有或受保护的数据成员;不包含任何虚成员函数;复制一个类的对象时,将复制其指针成员,但不复制指针指向的缓冲区,其结果是两个对象指向同一块动态分配的内存。因此,共用体与类一样,可包含多个数据成员,但不同的是只能使用其中的一个。在面向对象编程语言中,抽象是一个非常重要的概念,让程序员能够决定哪些属性只能让类及其成员知道,类外的任何人都不能访问(友元除外)。

2023-12-11 07:49:47 29

原创 21天学通C++(四)基础知识4

指针是存储内存地址的变量。就像int变量用于存储数值一样,指针变量用于存储内存地址。因此,指针是一个变量,与所有变量一样,指针也占用内存空间,指针的特殊之处在于,指针包含的值被解读为内存地址,因此指针是一种指向内存单元的特殊变量。内存单元地址通常使用十六进制表示法。显示十六进制数时,通常使用前缀0x。本小节介绍了指针和引用。学习了指针,它可用来访问和操纵内存,还是帮助动态分配内存的工具。还介绍了new和delete,它们可以用于为单个元素分配和释放内存;

2023-12-10 07:52:41 17

原创 21天学通C++(三)基础知识3

为了实现这种逻辑,编译器将函数调用转换为一条供微处理器执行的CALL指令,该指令指出了接下来要获取的指令所在的地址,该地址归函数所有。除非给goto语句指定在特定情况下将为false的执行条件,或者重复执行的代码中包含在特定条件下将被执行的return语句,否则goto命令和标签之间的代码将无休止地执行下去,导致程序永不结束。函数的最基本部分——实现被称为函数定义。通过使用关键字auto来自动推断变量的类型,可编写一个通用的for循环,对任何类型的数组elements进行处理,从而进一步简化for语句。

2023-12-09 07:46:18 22

原创 21天学通C++(二)基础知识2

数组是一系列元素数组中所有元素的类型都相同这组元素形成一个完整的集合。

2023-12-08 07:45:55 22

原创 21天学通C++(一)基础知识1

所有计算机、智能手机及其他可编程设备都包含微处理器和一定数量的临时存储空间,这种临时存储器被称为随机存取存储器(RAM)。另外,很多设备还能够将数据永久性地存储到硬盘等存储设备中。微处理器负责执行应用程序,在此过程中,它从RAM中获取要执行的应用程序二进制码以及相关联的数据,这包括显示到屏幕上的数据以及用户输入的数据。字面常量可以是任何类型:布尔型、整型、字符串等。如其中Hello World就是一个字符串字面常量。#define是一个预处理器宏,让处理器将随后出现的所有pi都替换为3.14286。

2023-12-07 07:39:44 84

原创 随机过程复习(六)布朗运动

随机过程满足以下条件时,称为布朗运动过程:(1)X(0)=0;(2)是独立平稳增量过程;(3)对于固定时间的是均值为0, 方差为的正态随机变量。布朗运动过程简称布朗运动,也称维纳过程。可以得到布朗运动的分布函数为当时,称为标准布朗运动。任意布朗运动X(t)都可以通过令而转化为标准布朗运动。

2023-12-01 15:26:59 2348

原创 随机过程复习(五)鞅

由定义可知,T是一个取值非负整数的随机变量,可以用以描述过程的终止时间。由上述定理可知,一个下鞅总可分解为一个鞅和一个增过程之和。设取值为非负整数(包括+∞)的随机变量T,即随机序列。不能直接观察,而只能观察另一过程。,事件{T=n}的示性函数。在任何时刻的期望均相等。且上述分解是唯一的。且上述分解是唯一的。的函数,则称T是关于。

2023-12-01 14:52:46 581

原创 随机过程复习(四)连续时间马尔可夫过程

设状态空间为一随机过程,(1)若对于和,当时,都有下式成立:则称为连续时间马尔可夫过程(或连续参数马尔可夫链(2)若对于任意和,都有则称X为齐次马尔可夫链,并称为转移概率矩阵。转移概率矩阵P(t)具有下列基本性质:(1)P(t)为随机矩阵,即(2)C-K方程,即或(3)标准性与原点连续性其中I为单位矩阵。写成分量形式,即。

2023-12-01 14:22:35 1209

原创 随机过程复习(三)离散时间马尔可夫过程

如果随机序列对任意及,有则称其为马尔可夫链。,称为n时刻的一步转移概率。若对,即一步转移概率与当前时刻n无关,则称为齐次马尔可夫链。记,称P为的一步转移概率矩阵,简称转移矩阵。

2023-11-30 21:15:28 414

原创 随机过程复习(二)泊松过程

计数过程称为具有速率N(0)=0;过程是独立增量过程,即任取相互独立;在长度为t的任意时间区间中的事件个数服从均值为的泊松分布。即对于所有的,有计数过程称为具有速率是一个计数过程,且N(0)=0;是独立增量过程;具有增量平稳性,即对于,有;具有增量普通性,即对和充分小的,有其中,为的高阶无穷小。

2023-11-30 19:55:59 1668

原创 随机过程复习(一)概率论基础与随机过程概述

随机现象:在一定条件下,可能出现也可能不会出现的现象。随机试验:(1)试验可在相同条件下重复进行;(2)每次试验只有一个结果出现并且结果不可预知;(3)每次试验所有可能出现的结果已知。所有试验的可能结果组成的集合称为样本空间,记成中的元素称为样本点的子集A称为随机事件或简称事件称定义在样本空间样本空间是有限集;每个样本的出现是等可能的。设为可测空间,P是定义在(非负性)(归一性)若且,有(可列可加性)称P为可测空间上的概率测度,简称概率。称为概率空间,称。

2023-11-30 19:13:25 366

原创 TensorFlow2.0深度学习(十)卷积神经网络

在TensorFlow中,通过tf.nn.conv2d函数可以方便地实现2D卷积运算。tf.nn.conv2d基于输入X:[b,h,w,]和卷积核W:[k,k,]进行卷积运算,得到输出O:[b,h',w',],其中表示输入通道数,表示卷积核的数量,也是输出的特征图的通道数。x = tf.random.normal([2,5,5,3]) # 模拟输入,3通道,高宽为5# 需要根据[k,k,cin,cout]格式创建w张量,4个3×3大小卷积核# 步长为1,padding为0。

2023-11-29 16:44:07 171

原创 TensorFlow2.0深度学习(九)过拟合

当发现当前的模型在训练集上面误差一直维持较高的状态,很难优化减少,同时在测试集上也表现不佳时,可以考虑是否出现了欠拟合的现象,这个时候可以通过增加神经网络的层数、增大中间维度的大小等手段,比较好的解决欠拟合的问题。当模型容量过大时,网络模型除了学习到训练集数据的模态之外,还把额外的观测误差也学习进来,导致学习的模型在训练集上面表现较好,但是在未见的样本上表现不佳,也就是泛化能力偏弱,把这种现象叫做。用于测试模型的泛化能力,测试集中的样本不能参与模型的训练,防止模型“记忆”住数据的特征,损害模型的泛化能力。

2023-11-29 09:40:37 37

原创 TensorFlow2.0深度学习(八)Keras高层接口

对于需要创建自定义逻辑的网络层,可以通过自定义类来实现。在创建自定义网络层类时,需要继承自layers.Layer基类;创建自定义的网络类,需要继承自keras.Model基类,这样产生的自定义类才能够方便的利用Layer/Model基类提供的参数管理功能,同时也能够与其他的标准网络层类交互使用。对于自定义的网络层,需要实现初始化__init__方式和前向传播逻辑call方法。以某个具体的自定义网络层为例,假设需要一个没有偏置的全连接层,即bias为0,同时固定激活函数为ReLU()函数。

2023-11-28 22:32:18 129

原创 TensorFlow2.0深度学习(七)反向传播算法

有了深度学习框架自动求导、自动更新权值的功能,算法设计者几乎不需要对反向传播算法有深入的了解也可以搭建复杂的模型和网络,通过优化工具方便地训练网络模型。但是反向传播算法和梯度下降算法是神经网络的核心算法,深刻理解其工作原理十分重要。本章先回顾导数、梯度等数学概念,然后推导常用激活函数、损失函数的梯度形式,并开始逐渐推导感知机、多层神经网络的梯度传播方式。

2023-11-28 19:51:35 154

原创 TensorFlow2.0深度学习(六)神经网络

原始的特征通常具有较高的纬度,包含了很多底层特征及无用信息,通过神经网络的层层特征变换,将较高的维度降维到较低的维度,此时的特征一般包含了与任务强相关的高层特征信息,通过对这些特征进行简单的逻辑判定即可完成特定的任务。如下图所示,通过堆叠4个全连接层,可以获得层数为4的神经网络,由于每层均为全连接层,称为全连接网络。全连接层是神经网络中最基本的网络模型,全连接层前向计算简单,梯度求导也较简单,但是它有一个最大的缺陷,在处理较大特征长度的数据时,全连接层的参数量往往较大,使得训练深层数的全连接网络比较困难。

2023-11-28 15:15:02 73

原创 TensorFlow2.0深度学习(五)TensorFlow进阶

如下图所示,演示了一维张量白板的刷新运算,白板的形状表示为shape参数,需要刷新的数据索引为indices,新数据为updates,其中每个需要刷新的数据对应在白板中的位置,根据indices给出的索引位置将updates中新的数据依次写入白板中,但返回更新后的白板张量。合并这2个班级的数据时,需要创建一个新维度,定义为班级维度,新维度可以选择放置在任意位置,一般根据大小维度的经验法则,将较大概念的班级维度放置在学生维度之前,则合并后的张量的新shape应为[2,35,8]。这就是张量合并的意义所在。

2023-11-28 10:17:56 67

原创 TensorFlow2.0深度学习(四)TensorFlow基础

通过tf.fill(shape, value)可以创建全为自定义数值value的张量。

2023-11-27 22:31:33 62

原创 TensorFlow2.0深度学习(三)分类问题

如果是彩色图片,则每个像素点包含了R, G, B三个通道的强度信息,分别代表红色通道、绿色通道、蓝色通道的颜色强度,所以与灰度图片不同,它的每个像素点使用一个1维、长度为3的向量来表示,向量的3个元素依次代表了当前像素值上面的R, G, B颜色强值,因此彩色图片需要保存为形状是[h, w, 3]的张量。手写数字图片的总类别有10种,即输出节点数为10,那么对于某个样本,假设它属于类别i,即图片的中数字为i,只需要一个长度为10的向量y,向量y的索引号为i的元素设置为1,其他位为0。

2023-11-27 19:53:14 38

原创 TensorFlow2.0深度学习(二)回归问题

梯度下降算法(Gradient Descent)是神经网络训练中最常用的优化算法,配合强大的图形处理芯片的并行加速能力,非常适合优化海量数据的神经网络模型,自然也适合优化这里的神经元线性模型。在假定模型的类型后,学习过程就变成了搜索模型参数的问题,比如假设神经元为线性模型,那么训练过程即为搜索模型的w和b参数的过程。从这个角度来看,它就是一个连续值的预测问题。此时可以绘制出神经元的输出y和输入x的变化趋势,随着输入信号x的增加,输出电平y也随之线性增加,其中w参数可以理解为直线的斜率,b参数为直线的偏置。

2023-11-27 15:52:08 36

原创 TensorFlow2.0深度学习(一)人工智能绪论

Keras可以理解为一套高层API的设计规范,Keras本身对这套规范有官方的实现,在TensorFlow中也实现了这套规范,称为tf.keras模块,并挨饿tf.keras将作为TensorFlow2版本的唯一高层接口,避免出现接口重复冗余的问题。与有监督、无监督学习不同,强化学习问题并没有明确的“正确的”动作监督信号,算法需要与环境进行交互,获取环境反馈的滞后的奖励信号,因此并不能通过计算动作与“正确动作”之间的误差来优化网络。常见的有监督学习有线性回归,逻辑回归,支持向量机,随机森林等。

2023-11-27 14:14:15 65

原创 VINS-Mono原理推导与代码解析(四)前端视觉处理

本专栏参考崔华坤的《VINS论文推导及代码解析》的PDF,按照这个框架,对VINS-Mono的原理进行详解,并附加代码解析~VINS-Mono原理推导与代码解析(四)前端视觉处理VINS-Mono原理推导与代码解析(五)初始化VINS-Mono原理推导与代码解析(六)边缘化Maginalization和FEJVINS-Mono原理推导与代码解析(七)闭环检测与优化VINS-Mono原理推导与代码解析(八)其他补充~先认识一下重要的变量~先来看看PDF中对前端视觉处理的讲解。6。

2023-11-07 11:20:03 166

原创 VINS-Mono原理推导与代码解析(三)后端非线性优化

本专栏参考崔华坤的《VINS论文推导及代码解析》的PDF,按照这个框架,对VINS-Mono的原理进行详解,并附加代码解析~VINS-Mono原理推导与代码解析(三)后端非线性优化VINS-Mono原理推导与代码解析(四)前端视觉处理VINS-Mono原理推导与代码解析(五)初始化VINS-Mono原理推导与代码解析(六)边缘化Maginalization和FEJVINS-Mono原理推导与代码解析(七)闭环检测与优化VINS-Mono原理推导与代码解析(八)其他补充~

2023-11-06 14:43:05 226

原创 VINS-Mono原理推导与代码解析(二)IMU预积分

本专栏参考崔华坤的《VINS论文推导及代码解析》的PDF,按照这个框架,对VINS-Mono的原理进行详解,并附加代码解析~VINS-Mono原理推导与代码解析(二)IMU预积分VINS-Mono原理推导与代码解析(三)后端非线性优化VINS-Mono原理推导与代码解析(四)前端视觉处理VINS-Mono原理推导与代码解析(五)初始化VINS-Mono原理推导与代码解析(六)边缘化Maginalization和FEJVINS-Mono原理推导与代码解析(七)闭环检测与优化。

2023-11-06 10:26:29 125 1

原创 VINS-Mono原理推导与代码解析(一)总体框架

本专栏参考崔华坤的《VINS论文推导及代码解析》的PDF,按照这个框架,对VINS-Mono的原理进行详解,并附加代码解析~VINS-Mono原理推导与代码解析(三)后端非线性优化。VINS-Mono原理推导与代码解析(七)闭环检测与优化。VINS-Mono原理推导与代码解析(二)IMU预积分。VINS-Mono原理推导与代码解析(四)前端视觉处理。VINS-Mono原理推导与代码解析(八)其他补充~VINS-Mono原理推导与代码解析(一)总体框架。VINS-Mono原理推导与代码解析(五)初始化。

2023-11-05 19:20:38 196

空空如也

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

TA关注的人

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