- 博客(42)
- 资源 (18)
- 收藏
- 关注
原创 【C++】STL(八) map容器
map中所有元素都是pair:pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素都会根据元素的键值自动排序本质map/multimap属于关联式容器,底层结构是用二叉树实现。优点可以根据key值快速找到value值map和multimap区别map不允许容器中有重复key值元素multimap允许容器中有重复key值元。
2024-03-14 14:39:50
840
原创 【C++】STL(七) set容器
① set容器中所有元素在插入时自动被排序。② set容器和multiset容器属于关联式容器,底层结构用二叉树实现。③ set容器与multiset容器区别:set容器不允许容器中有重复的元素。multiset容器允许容器中有重复的元素。public://按照年龄降序//自定义数据类型都要指定排序规则Person p1("刘备", 23);Person p2("关羽", 27);Person p3("张飞", 25);
2024-03-13 11:29:37
1041
原创 【C++】STL(六) list容器
①功能:将数据进行链式存储。② 链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。③ 链表的组成:链表由一系列结点组成。④ 结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。⑤ 添加元素,将原指向下一个元素的指针指向新元素即可,新元素指向下一个元素⑥STL中的链表是一个双向循环链表。双向:每一个指针既指向下一个结点的元素,也指向上一个结点的元素。
2024-03-13 10:43:23
880
原创 【C++】STL(五) Stack & Queue容器
① queue是一种先进先出的数据结构,它有两个出口。② 队列容器允许一段新增元素,从另一端移除元素。③ 队列中只有对头和队尾才可以被外界使用,因此队列不运行有遍历行为。④ 队列中进数据称为入队。⑤ 队列中出数据称为出队。
2024-03-12 21:33:43
224
原创 【C++】STL(四) deque容器
① 功能:双端数组,可以对头端进行插入删除操作,也可以对尾端进行插入和删除操作。② deque与vector区别:vector对于头部的插入效率低,数据量越大,效率越低,例如头部后有十万个数据,则往头部插入一个数据时,十万个数据都需要往后挪一挪才能在头部插入数据。deque相对而言,对头部的插入删除速度会比vector快vector访问元素时的速度会比deque快,这和两者内部实现有关。③ deque内部工作原理:deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据。
2024-03-12 17:16:42
396
原创 【C++】STL(三) vector容器
① vector数据结构和数组非常相似,也称为单端数组。② vector与普通数组区别:不同之处在于数组是静态空间,而vector可以动态扩展。③ 动态扩展并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间。④ vector容器的迭代器是支持随机访问的迭代器。
2024-03-11 21:35:26
1026
原创 【C++】STL(二) string容器
string是C++风格的字符串,而string本质上是一个类char * 是一个string是一个,类内部封装了char*,管理这个字符串,是一个char*型的容器。
2024-03-11 21:20:39
1462
原创 C++_07----强制类型转换&异常
static_cast还可以转换对象的指针类型,但它不进行运行时类型检查,如用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换1.进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;2.进行下行转换(把基类的指针或引用转换为派生类表示),由于没有动态类型检查,所以是不安全的;3.无继承关系的类不能转换注意:static_cast不能移掉expression中的const,volatile以及_unaligned属性。
2023-04-04 15:38:47
1171
原创 C深度解析——复合类型(结构体&联合体&枚举)
结构体(复合类型)将多个相同或不同类型的元素存放在一块连续的内存中,称为结构体结构体的定义和初始化//定义结构体关键字:struct 结构体类型为:struct Student 结构体的名字:Student//定义结构体时 {}后需要加分号;结构体的成员包含在{}中//结构体 atruct Student 是一个类型,没有空间,不能直接在结构体里给结构体成员赋值struct Student{ int id; int age; char name[128];}a; //定义.
2022-04-11 10:47:27
305
原创 C深度解析——指针(下)
指针与字符串%c 打印一个字符,要的是该字符的地址%s 打印一个字符串,要的是字符串首个字符的地址int main()//指针与字符串{ //定义字符串 char a[] = { "helloworld" };//定义一个字符数组,其内容为:helloworld\0 //定义一个指针用来保存数组首元素的地址 char *p = a; printf("%c\n", *(p + 3));// %c 打印一个字符,要的是该字符的地址 printf("%s\n", p);// %s 打.
2022-04-06 16:54:10
539
原创 C深度解析——指针(上)
1、指针与指针变量启动一个程序,系统在内存上给该程序分配一块内存空间。如果是32位系统,内存大小为4G。内存空间是由一个个字节构成,每个字节系统会分配一个编号,称为地址。回顾C语言基础:整型变量:int a = 10;,其中,a为整型变量,存储整数。指针变量:int *p,其中,p为指针类型。指针变量可理解为存指针(地址)的变量。在32位系统中,因为地址编号格式为:0x 0000 0000,所以指针变量占4个字节。指针的实质就是地址指针变量的定义和初始化int main(){ int
2022-04-05 20:05:35
1372
原创 Pytorch学习(十二)--Inception Module
传送门:Inception_Module本讲视频是对高级CNN进行的一个概览,主要实现了Inception,Resnet,本文专注于Inception模块以及GoogLeNet网络的实现。Inception Moudel代码说明:1、采用1x1卷积核将不同通道的信息融合。使用1x1卷积核虽然参数量增加了,但是能够显著的降低计算量。2、Inception模块分为不同的分支是为了提取到更多的特征,同时也可以加速训练过程。3、Inception Moudel由4个分支组成,最终4个分支在dim=1(c
2021-02-20 10:15:13
1341
原创 PyTorch学习(十一)-- Homework_CNN Model
第10讲 CNN Model传送门:Basic CNN Model作业如下:根据讲解视频,自己编写了一个网络,结构如下:3个CONV层,3个激活层(RELU),3个Pooling层,3个FC 层实现代码如下:# -*- coding: UTF-8 -*-'''===============================================@Author :kidding@Date :2021/2/8 14:19@File :Basic_CNN_Exercise@
2021-02-08 15:58:27
353
1
原创 PyTorch学习(十)--Basic CNN Model
传送门:Basic CNN Model说明 1、每一个卷积核它的通道数量要求和输入通道是一样的。这种卷积核的总数有多少个和你输出通道的数量是一样的。2、卷积(convolution)后,C(Channels)变,W(width)和H(Height)可变可不变,取决于是否padding。subsampling(或pooling)后,C不变,W和H变。3、卷积层:保留图像的空间信息。4、卷积层要求输入输出是四维张量(B,C,W,H),全连接层的输入与输出都是二维张量(B,Input_feature)。
2021-02-08 15:48:18
357
1
原创 PyTorch学习(九)--Softmax Classifier
传送门:Softmax Classifier说明: 1、softmax的输入不需要再做非线性变换,也就是说softmax之前不再需要激活函数(relu)。softmax两个作用,如果在进行softmax前的input有负数,通过指数变换,得到正数。所有类的概率求和为1。2、y的标签编码方式是one-hot。我对one-hot的理解是只有一位是1,其他位为0。3、多分类问题,标签y的类型是LongTensor。比如说0-9分类问题,如果y = torch.LongTensor([3]),对应的one-h
2021-02-08 11:10:34
1232
3
原创 PyTorch学习(八)--Load DataSet
传送门:Load Dataset本讲主要是数据集的加载过程。视频中对数据集的加载以及shuffle、batch_size、Epoch解释的很清楚。如图shuffle的作用如下图:具体过程如代码所示:注意:1、Dataset() 是一个抽象函数,不能直接实例化,所以我们要创建一个自己类,继承Dataset继承Dataset后我们必须实现三个函数:init()是初始化函数,之后我们可以提供数据集路径进行数据的加载getitem()帮助我们通过索引找到某个样本len()帮助我们返回数据集大小
2021-02-07 18:59:12
7751
3
原创 PyTorch(七) --处理多维特征的输入
第7讲 处理多维特征的输入传送门 处理多维特征的输入课程代码:# -*- coding: UTF-8 -*-'''===============================================@Author :kidding@Date :2021/2/7 16:15@File :Processing_Multi-Dimensional_Feature_Input@IDE :PyCharm====================================
2021-02-07 17:25:49
560
3
原创 PyTorch(六) --Logistic Regression
课程视频:传送门 Logistic RegressionLogistic Regression Model 和 Linear Model的区别是在线性模型的后面,添加了激活函数(非线性变换),激活函数作用是增加网络的非线性表达。代码实现:# -*- coding: UTF-8 -*-'''===============================================@Author :kidding@Date :2021/2/5 18:15@File :Logistic
2021-02-07 15:31:44
340
原创 PyTorch(五) --线性回归
课程视频:传送门 线性回归实现过程:1、建立数据集(Prepare DataSet)2、设计模型(Design Model)'''在进行模型设计时,类中至少要包含 __init__()和forward()两个函数'''class LinearModel(torch.nn.Module): # nn.Module 包含模型训练过程中需要用到的很多方法,需要继承 def __init__(self): #构造函数:__init__() 是用来初始化对象时候默认调用的函数 s
2021-02-05 16:51:49
249
原创 PyTorch(四) --反向传播 back propagation
课程视频:传送门 反向传播 Back PropagationTensor和tensor的区别:传送门 Tensor & tensor一、Tensor和tensor的区别在Pytorch官方文档中,对于 Tensor 与 tensor 的定义:传送门:Tensor传送门:tensor简单总结:在PyTorch中,Tensor和tensor都能用于生成新的张量:>>> a=torch.Tensor([1,2])>>> atensor([1., 2.
2021-02-04 15:54:09
649
1
原创 PyTorch(三)——梯度下降 & 随机梯度下降
教程视频:梯度下降算法学习目标:实现梯度下降算法(GD)和随机梯度下降算法(SGD),输出loss关于Epoch的图像。一、梯度下降算法(GD)代码如下(示例):# -*- coding: UTF-8 -*-'''===============================================@Author :kidding@Date :2021/2/3 14:46@File :GD@IDE :PyCharm==========================
2021-02-03 16:05:14
577
原创 PyTorch(二)线性模型_作业(3D-LinearModel)
教程视频:线性模型作业题目:实现线性模型(y=wx+b)并输出loss的3D图像。实现代码:# -*- coding: UTF-8 -*-'''===============================================@Author :kidding@Date :2021/2/2 18:12@File :3D_Linear_Model@IDE :PyCharm=================================================
2021-02-02 20:18:48
1787
4
原创 PyTorch(一) 线性模型
教程视频:https://www.bilibili.com/video/av92862340作业题目:实现线性模型(y=wx+b)并输出loss的3D图像。实现代码:# -*- coding: UTF-8 -*-'''===============================================@Author :kidding@Date :2021/1/19 17:31@File :Linear_Model@IDE :PyCharm==============
2021-02-02 18:47:53
304
原创 【C++】STL(一)基本概念&六大组件
目录1、什么是STL?2、STL内容简介2.1 容器2.2 迭代器2.3 算法2.4 仿函数2.5 适配器1、什么是STL?STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可
2020-06-14 21:14:50
259
原创 【C++ STL小案例】--演讲比赛
本文主要以演讲比赛为例介绍STL综合性的案例。目录如下,全文较长,建议收藏阅读。文章目录一、比赛介绍与需求分析1、比赛介绍2、需求分析二、实现思路分析1、信息存储2、函数三、案例框架搭建四、业务函数实现五、运行结果1、第一轮比赛2、第二轮比赛3、第三轮比赛六 思考总结一、比赛介绍与需求分析1、比赛介绍比赛方式:分组比赛,每组6个人;选手每次要随机分组,进行比赛;第一轮:分为4个小组,每组6个人。比如100-105为一组,106-111为第二组,依次类推, 每人分别按照抽签(draw)顺序演讲
2020-06-11 11:49:22
1177
1
CS231N最新课件 2 (2019)
2020-10-27
CS231N最新课件 14(2019)
2020-10-27
CS231N最新课件 13(2019)
2020-10-27
CS231N最新课件 12(2019)
2020-10-27
CS231N最新课件 11(2019)
2020-10-27
CS231N最新课件 10(2019)
2020-10-27
CS231N最新课件9 (2019)
2020-10-27
CS231N最新课件8 (2019)
2020-10-27
CS231N最新课件 7(2019)
2020-10-27
CS231N最新课件 6(2019)
2020-10-27
CS231N最新课件 (2019)5
2020-10-27
CS231N最新课件4 (2019)
2020-10-27
CS231N最新课件3 (2019)
2020-10-27
10大经典深度神经网络论文合辑
2020-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人