自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 堆,栈,程序区,静态变量,局部变量,函数,参数宏

堆和栈是堆和栈是在程序运行中用于的两种不同的内存空间。是,它的生命周期不由程序的函数调用栈管理,通常会被程序员直接管理。堆空间为程序,既可以手动管理,也可以交由自动管理,带来了很大的方便。栈:是一种(LIFO)的数据结构。程序在运行时,会将栈用来以及。栈是一种,用于,大大简化内存的管理,提高了程序的执行效率。

2024-01-10 23:43:54 1033

原创 caffe finetune两种修改网络结构prototxt方法

第一种方法:将原来的prototxt中所有的fc8改为fc8-re。(若希望修改层的学习速度比其他层更快一点,可以将lr_mult改为原来的10倍或者其他倍数)第二种方法:只修改name,如下例子所示: layer { name: "fc8-re" #原来为"fc8" type: "InnerProduct" bottom: "fc7" t...

2018-11-27 19:00:48 842 1

原创 二叉树、二叉排序树、平衡二叉树、红黑树、B树、B+树、哈弗曼树和哈夫曼编码

二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”。一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。具有n个节点的完全二叉树的深度为log2(n+1)。深度为k的完全二叉树,至少有2^(k-1)个节点,至多有2^k-1个节点。遍历方式:先序遍历(根左...

2018-09-18 17:49:54 2089

原创 sizeof和strlen、32位和64位系统各类型的长度

sizeof:申请了多少内存空间或者,例如char a[20],sizeof(a)=20。若为char a[],他的大小应该为使用了多少大小就为多少。strlen计算字符数组的长度时,是以找到0或者\0作为终止。若末尾没有0或者\0作为结束,则不会计算出正确的字符数组的长度,会一直读到下一个地址为0的长度。0或者\0不计算在内。字符串会在末尾自动补上\0作为结束,字符数组不会。因此si...

2018-09-18 09:55:56 1080

原创 三柱汉诺塔c++实现

小的盘子必须在大的盘子的上面void hannoi(int n, char a, char b, char c ){    if (n == 1)    {        res.push_back(to_string(n)+" from " +a+" to "+c);    }    else    {        hannoi(n - 1, a, c, b);     ...

2018-09-17 11:38:53 312

转载 c++接口和抽象类

其实对抽象类与接口的区别一直是搞不太清楚,最近正在学习《设计模式》,期间用到了很多c++多态的知识。这是才恍然发现,是应该整理下这方面的知识了。但在翻阅书本、上网查阅资料之际,发现有篇文章总结的不错。于是,转载(博主勿怪)并稍作修改如下:抽象类:抽象类是特殊的类,只是不能被实例化(将定义了一个或多个纯虚函数的类称为抽象类);除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类...

2018-09-10 16:26:16 1037

原创 c++求连通图个数,以及最大连通图节点个数、字节跳动例题并查集的实现

输入:第一行输入两个数n(表示n行),m(表示m列)接下来输入n行m列的矩阵输出:连通图个数 最大连通图节点数例子:输入:10 100 0 0 0 0 0 0 0 0 00 0 0 1 1 0 1 0 0 00 1 0 0 0 0 0 1 0 11 0 0 0 0 0 0 0 1 10 0 0 1 1 1 0 0 0 10 0 0 0 0 0 1 0 1 10 1 1...

2018-08-26 16:48:40 4603 4

原创 单链表、双链表、循环单链表、循环双链表、哈希表、hashmap

单链表:拥有指向下一节点的指针。查找元素需要从头结点遍历双链表:拥有指向上一节点和下一节点的指针。相对于单链表,在找当前节点的前一节点时比较方便,占用空间比单链表大。单循环链表:单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。双循环链表:可以从任何结...

2018-08-13 17:19:02 4100

原创 排序算法总结

一.冒泡排序:算法步骤: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。    时间复杂度 :o(n^2)   算法稳定性:相...

2018-08-11 23:55:40 142

原创 梯度消失、爆炸产生的原因以及解决方法

梯度消失和梯度爆炸的原因:1.深度网络:神经网络的反向传播是逐层对函数偏导相乘,因此当神经网络层数非常深的时候,最后一层产生的偏差就因为乘了很多的小于1的数而越来越小,最终就会变为0,从而导致层数比较浅的权重没有更新,这就是梯度消失。梯度爆炸就是由于初始化权值过大,前面层会比后面层变化的更快,就会导致权值越来越大,梯度爆炸的现象就发生了。网络层之间的梯度(值大于 1.0/值小于1)重复...

2018-08-11 14:46:02 1919

原创 C++中的vector、list和vector的区别、set的用法与区别以及迭代器iterator

vector封装数组,list封装了链表,map和set封装了二叉树1.vector初始化:vector<int> test       vector<int> test(n,0) (n不用初始化,可cin输入或者读入文件) 初始化长度为n,元素值全部为0。sort: sort(test.begin(),test.end())       //test中的元素按...

2018-07-24 16:35:58 1606

原创 c++中结构体、联合、内存对齐

struct {     short a;    char b;     float c; }cs; sizeof(cs)=8首先一个第一个变量在0偏移处。短整型占两个字节,现在就到了2偏移处,一个char占一个字节,2是1的倍数,直接加在后面,现在是3偏移处,而float是4个字节,4不是3的倍数,需要再开辟一个字节,到4偏移处,然后加上4,所以结构体大小为8个字节,最后还要考...

2018-07-18 17:51:31 243

原创 内联函数、虚函数、构造函数、析构函数、纯虚函数、函数继承、类和对象的权限总结

内联函数:一般函数进行调用时要将程序执行权转到被调用函数中,然后在返回调用他的函数中;而内敛函数在调用时,是将调用表达式用内联函数体来替换。示例如下:                   1.在类内部声明内联函数叫做 隐式内联函数。如:                class display           {               int t;        ...

2018-07-06 19:01:14 485

原创 堆和栈

栈:通常存放局部变量、函数参数等,编译器自动分配内存,自动清除。向下、向低地址方向增长。是连续的内存区。变量引用容易逃逸。堆:new分配的内存块,程序员释放(delet),存放的是实体(对象)。向上、向高地址方向增长。不连续的内存区(系统用链表存储空间内存地址),容易产生memory leak。大量的new/delet会造成内存空间的不连续。 存放在栈中的情况:int n;  ...

2018-07-06 11:12:19 144

原创 c++中的输入问题

自动忽略空格和换行符char a[50];string cc;scanf("%s",c);               连续输入:while(scanf("%s",c)!=EOF)cin>>cc;  cin>>a;scanf("%s", &cc);  //可以读取到键入的字符串cout << cc;      //输出为空printf("%

2018-04-06 10:38:28 508

原创 c++中Mat型的一些问题

 CV_8U - 8-bit unsigned integers • CV_8S - 8-bit signed integers• CV_16U - 16-bit unsigned integers• CV_16S - 16-bit signed integers • CV_32S - 32-bit signed integers• CV_32F - 32-bit floating-point nu...

2018-04-02 19:59:32 2034

原创 神经网络中的过拟合的原因及解决方法、泛化能力、L2正则化

过拟合:训练好的神经网络对训练数据以及验证数据拟合的很好,accuracy很高,loss很低,但是在测试数据上效果很差,即出现了过拟合现象。过拟合产生的原因:(1)数据集有噪声(2)训练数据不足(3)训练模型过度导致模型非常复杂解决方法:(1)降低模型复杂度(缩小宽度和减小深度)(2)数据集扩增(平移,旋转,缩放,剪切,添加噪音)(3)正则化。(4)加入drou...

2017-10-10 10:52:05 8306

原创 python路径中\/问题

python从文本中读入文本文件:\和/均可,\不会转义python从代码中给定的路径读取:\会转义,需要\\通过其他函数调用os.listdir,这种生成路径的代码,python读取到的是\\,写在文本文件中则为\

2017-09-30 11:26:29 2822 1

原创 线性回归和逻辑回归

线性回归:特征和结果满足线性,不大于一次方。逻辑回归:逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。

2017-09-26 11:09:32 529

转载 机器学习正则化

1. The Problem of Overfitting1还是来看预测房价的这个例子,我们先对该数据做线性回归,也就是左边第一张图。如果这么做,我们可以获得拟合数据的这样一条直线,但是,实际上这并不是一个很好的模型。我们看看这些数据,很明显,随着房子面积增大,住房价格的变化趋于稳定或者说越往右越平缓。因此线性回归并没有很好拟合训练数据。我们把此类情况称为欠

2017-09-26 11:06:12 192

原创 c++ 遍历文件夹函数、字符分割函数、判断文件夹是否存在

遍历文件夹函数(用到的头文件:#include<iostream>)void getFilesAll(string path, vector<string>& files) {//文件句柄intptr_t hFile = 0;//文件信息struct _finddata_t fileinfo;string p;if ((hFile = _findfi...

2017-09-11 23:22:46 327

原创 用cmd删除大文件夹

在cmd中输入:rd /s /q 文件夹路径。rd表示删除指定目录,/s表示删除指定目录下的所有子目录和文件,/q表示安静模式,在删除子目录时不需要确认直接删除。不经过回收站。

2017-09-11 12:44:02 605

空空如也

空空如也

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

TA关注的人

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