自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 import 报错:cannot import name ‘get_config‘ from ‘tensorflow.python.eager.context‘

from keras.layers import Dense,Dropout,Activation,Convolution2D,MaxPooling2D,Flattenfrom keras.layers import LSTM报错:ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context' (C:\Users\xx\AppData\Roaming\Python\Python37\site-.

2022-03-08 14:58:12 2717

原创 python 报错:pip install *** :Cannot connect to proxy

打开注册编辑器,找到HKEY_CURRENT_USER/SOFTWARE/Microsoft/Windows/CurrentVersion/Internet Settings删除以 Proxy 打头的键值对(如ProxyEnable,ProxyOverride,ProxyServer等)之后就可以了!

2022-03-08 14:45:07 553

原创 PyEMD 库函数安装 No module named ‘PyEMD’

XX\Anaconda3\Lib\site-packages找到pyemd,将其改名为PyEMD!解决!

2022-02-28 10:01:27 804

原创 C++之初始化列表

初始化列表就是在初始化阶段对一些参数进行赋值,所以像const成员、引用成员等这些必须在初始化阶段赋值,别的时候不允许修改的成员变量,必须使用初始化列表进行对成员变量进行赋值。...

2020-09-03 17:03:41 164

原创 WINDOWS 下出现:文件系统错误

解决办法:1.打开CMD2.chkdsk + 要修复的文件或盘

2020-07-16 11:16:19 1951

转载 Linux下安装vim-plug报错:Failed to connect to raw.githubusercontent.com port 443: Connection refused

https://blog.csdn.net/qq_40464014/article/details/105752177

2020-07-09 16:53:34 494

原创 主成分分析(PCA)

主成分分析(Principal components analysis,PCA)是一种统计分析、简化数据集的方法,它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分(Principal Components)。具体地,主成分可以看做一个线性方程,其包含一系列线性系数来指示投影方向。PCA对原始数据的正则化或预处理敏感(相对缩放).基本思想:将坐标轴中心移到数据的中心,然后旋转坐标轴,使得数据在C1轴上的方差最大,即全部n个数据个体

2020-07-09 09:54:07 289

原创 多分类网络的训练技巧

多类别分类方法往往先采用一个基础网络进行缺陷与正常样本二分类训练, 然后在同一个网络上共享特征提取部分, 修改或者增加缺陷类别的分类分支. 通过该方式相当于给后续的多目标缺陷分类网络准备了一个预训练权重参数, 这个预训练权重参数是通过正常样本与缺陷样本之间二分类训练得到....

2020-07-07 10:26:08 1020

转载 Python 下划线、双下划线

https://geek-docs.com/python/python-examples/python-underline-double-underline-and-others.html

2020-07-06 17:25:30 130

原创 静态链表、循环链表、双向链表小结

静态链表:用数组描述的链表(游标实现法),其中数组中每个元素由两个数据域构成,即data(存放数据元素)和cur(存放后继元素下标)实现方式:建立一个较大的数组,以便在插入时不会发生溢出;为了模拟动态链表结构的存储空间的分配,即需要时申请,无用时释放,静态链表的解决办法是将所有未被使用过的以及已经被删除的分量用游标连成一个备用的链表,来区分数组中哪些分量未被使用。组成:两个特殊的元素结点,备用链表,被使用的链表元素两个特殊的元素:第一个结点:不存储数据,其cur存放备用链表的第一个结点的下标;最

2020-07-06 08:34:37 195

原创 数据结构之线性表小结

线性表小结:线性表的定义:零个或多个数据元素的有限序列(两个特性:有限,序列;同时要求数据的类型相同) 线性表的存储结构:顺序存储,链式存储顺序存储结构:定义:指的是用一段连续的存储单元依次存储线性表的数据元素。实现方式:用一维数组来实现顺序存储结构,即把第一个元素存放到数组下标为0的位置中,接着把线性表相邻的元素存储在数组中相邻的位置。其中数组的长度是存放线性表的存储空间的长度,因此任意时刻,线性表的长度应该小于数组的长度。存取特点:在线性表的任意位置的存入或者取出数据都是相等的时间,

2020-07-05 20:51:45 192

原创 Python 程序优化之加速运行的技巧

优化三个原则:1.不要过早的优化,先要让程序实现功能,然后在进行优化2.权衡优化代价,优化是有代价的,通常面临的是时间与空间的交换,以及开发代价的也需要考虑3.不要优化那些无关紧要的部分,专注运行慢的地方优化即可(如内部循环)1.避免全局变量定义在全局范围内的代码运行速度会比定义在函数中的慢很多 ,将全局范围内定义的代码放到函数中速度将带来15%-30%的提升.2.避免模块和函数属性访问如一:imort math代码中用math.sqrt()二:form.

2020-06-14 09:16:17 588

原创 Python 利用with open 操作进行文件的读写

在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)with open('/path/to/file', 'r') as f: print(f.read()) print(f.read())代码简洁,并且不必调用f.close()方法调用read()会一次性读取文件的全部内容,读

2020-06-13 15:37:48 3244

原创 python np.tile 浅析

np.tile(a, ()),就是按照()中的意思复制a,如(2,2,2)就是以a为基本单位按照(2,2,2)去复制.只需要分清楚(2,2,2)中代表的是哪个轴,第一个是y第二个是x, 第三个是面轴,......

2020-06-12 09:48:00 413

原创 C++面向对象之多继承浅析

多继承语法C++允许一个类继承多个类语法:class 子类 : 继承方式 父类1, 继承方式,父类2.....多继承可能会引发父类中有同名成员出现,需要作用域区分C++实际开发中不建议多继承比较经典的是菱形继承菱形继承带来的主要的问题是子类继承了两份相同的数据,导致资源无意义浪费,这里用虚继承解决。...

2020-06-09 14:23:10 131

原创 C++面向对象之继承中同名成员的处理方式

继承中同名成员的处理方式问题:当子类与父类出现同名的成员,如何通过子类对象,访问到子类或父类的同名的数据呢?访问子类同名的成员变量或成员函数,直接访问即可; 访问父类同名的成员变量或成员函数,需要加作用域;这里注意一点的是:如果子类中出现和父类同名的成员函数,子类的同名成员函数会隐藏掉父类中所有的同名成员函数,即使是函数重载也不行!想访问父类的同名函数就必须得加作用域。静态成员访问方式和非静态一样,不同之处是静态成员还有一种访问方式:类名::静态成员名称(不同之处是访问子类:son ::

2020-06-09 14:23:00 179

原创 C++面向对象·之继承种父类和子类的构造和析构顺序

先构造父类后构造子类,析构顺序相反。(因为对象存放在栈上,栈区上的数据先进后出)

2020-06-09 14:22:50 276

原创 C++面向对象之继承解析

继承简单的程序语法:class Base{public:同一类型的类的公共的东西;};class Example : public Base //公共继承方式{public:其他类一些自己独特的一些东西;}好处:减少重复代码语法:class 子类(派生类) : 继承方式 父类(基类)继承方式公共继承 保护继承 私有继承父类中的私有属性,无论什么继承方式子类都访问不到。 通过公共继承的方式,属性的访问权限不变 通过保护继承方式,属性的访

2020-06-09 14:22:08 135

原创 C++面向对象之函数调用运算符重载

函数调用运算符重载函数调用运算符()也可以发生重载 由于重载后使用的方式非常像函数的调用,因此称为仿函数 仿函数没有固定的写法,非常灵活,不限于形式匿名对象: person(10) (当前行执行结束后,系统会立即回收掉匿名对象) //所谓匿名对象就是创建的时候没有写对象的名称;...

2020-06-09 14:21:54 157

原创 C++面向对象之赋值运算符和关系运算符重载解析

赋值运算符的重载先简单回顾一下C++编译器至少给一个类添加四个函数默认构造函数(无参,函数体为空) 默认的析构函数(无参,函数体为空) 默认拷贝构造函数,对属性进行值拷贝 赋值运算符operator=,对属性进行值拷贝(这里问题就来了,浅拷贝和深拷贝的坑又来了———堆区内存重复释放因此要对简单的赋值即浅拷贝,重载成深拷贝)这里注意:被赋值的一方要先进行判断是否本身有属性在堆区,如果有就释放干净,然后再进行深拷贝。上面的程序有一点小问题:这样的赋值运算重载还不能实现链式编程;即(p

2020-06-09 14:21:38 316

原创 C++面向对象之递增函数重载

递增运算符重载总结:前置++:返回引用,可实现链式编程,为什么不返回值?还是拷贝构造函数的问题,这里就不赘述了;后置++为了实现先计算表达式后++的运算规则,故设了一个局部变量为了保存++前的值来实现先计算表达式后++,返回该局部变量的就出现了问题,不能像前置++那样直接返回引用,因为这是局部变量,在程序结束后会释放掉,若直接返回局部变量的引用会造成非法操作;因此只能返回值,这样的话就会返回值的时候就会调用拷贝构造函数创建一个新的对象来返回,所以,后置++无法实现链式编程。...

2020-06-09 14:21:17 204

原创 C++面向对象之左移运算符重载

左移运算符重载 << 作用:可以输出自定义的数据类型左移运算符的重载用全局函数函数返回的是cout引用,因此可以进行链式编程!

2020-06-08 20:52:05 116

原创 C++面向对象之运算符重载解析

运算符重载之“+”意义:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型的操作。加号运算符的重载: 实现两个自定义的数据类型的运算。通过成员函数重载+号其实关键就是定义成员函数时,将成员函数名字换成编译器定好的operator+ ,在后面调用的时候就可以简化为**+**这里就是一个关键字:operator1.通过成员函数重载p1.operator+(&p2) ==>>可以简化为p1+p22.通过全局函数重载+号注意一点:运算符

2020-06-08 20:47:33 164

原创 C++面向对象之友元

友元在程序中,类中的一些私有属性也想让类外的一些特殊的函数或类进行访问,这时需要用到友元,友元的目的就是让一个函数或者是类访问另一个类中的私有成员。 关键字为friend 三种实现方式:全局函数做友元 类做友元 成员函数做友元1.全局函数做友元,在类内,friend 全局函数的声明;2.类做友元...

2020-06-08 20:15:01 123

原创 C++面向对象之const修饰成员函数

首先明确:const 限制只读状态常函数:成员函数后加const后称为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改常对象声明对象前加const称该对象为常对象 常对象只能调用常函数不可修改的原因是什么呢?还得回顾一下const修饰指针的知识,3种情况;const int * p,常量指针,const修饰指针指向的值,指向可以改,值不可以改; int * const p,const修饰指针,即指针的指向不可以修改,值可.

2020-06-08 17:36:26 263

原创 C++面向对象之空指针访问成员函数

空指针访问成员函数C++中空指针也可以访问成员函数,但是要注意看有没有用到this指针,如果有用到this指针就得加入this是否为空的判别来提高代码的健壮性。如下面的例子;创建空指针;没有this为空的判别:但是showClassAge函数访问了成员变量,这个操作在C++中默认用this指针来访问成员变量(这样才可以确定是哪个对象在调用或者修改成员变量);但是用空指针的时候还没有实例化出对象,因此空指针用到this时就会程序就会报错。为了改进程序,提高代码的健壮性,加入this指针

2020-06-08 17:16:25 225

原创 C++面向对象之this指针

从上篇博文,我们已经知道了成员变量与成员函数是分开存储的,即每一个非静态成员函数只会诞生一份函数实例,也就是多个同类型的对象会共用一块代码,那么这块代码是如何区分哪个对象在调用它呢?C++通过this 指针指向调用成员函数的对象来解决这个问题。this指针隐含在每个非静态成员函数内的一种指针。无需定义,直接用即可。this 的用途:当形参和成员变量同名时,可以用this指针来区分。 在类的非静态成员函数中返回对象本身,可使用return *this(因为this指向对象,将其解引用就可以得

2020-06-08 17:11:57 288

原创 C++面向对象之对象模型

成员变量和成员函数是分开存储的空对象占用的内存空间为1,即C++编译器会给每个空对象也分配一个字节的空间,是为了区分空对象占内存的位置,每个空对象也应该有一个独一无二的内存地址。Class person{Int m_a; (类的内存空间大小为4个字节,即非静态变量属于类的对象上)Static int m_a;(类的内存空间大小仍然为4个字节, 即静态变量不属于类的对象上)Void func (){}(类的内存空间的大小仍然为4个字节,非静态成员函数也不属于类的对象上)Stat...

2020-06-08 17:05:07 98

原创 C++面向对象之静态成员浅析

静态成员(在成员前面加上关键字static)包括成员变量和成员函数静态成员变量:所有对象共享同一份数据 (实例化出的所有对象都共享同一份数据,即静态成员变量不属于某一个对象,因此静态成员变量有两种访问方式,一种是通过对象访问,另一种是通过类名访问(person::a,即类名::成员变量的名称)) 编译阶段就分配内存(全局区) 类内声明, 类外初始化。 静态成员变量也是有访问权限的,Class person{Static int a ;(类内声明)}person::int a

2020-06-08 16:58:54 111

原创 C++面向对象之类对象作类成员

Class A{}Class B{A a;(实例化了一个A类型的a对象, 即B类中有对象A作为成员,A为对象成员)}构造和析构顺序:当其他类作为本类成员,构造时候先构造类对象,再构造自身。析构的顺序相反。...

2020-06-08 16:48:19 92

原创 C++面向对象之函数重载解析

函数重载类似多音字,不同语境有不同的含义;同样同一个函数可能处理运用的方式不同,如加函数,可能传进去的是两个变量,也可能是一个变量一个常数,这样如果不用函数重载的话就得绞劲脑汁去想一些函数名,起名字难,记住这些名字更难;为了解决这个问题就有了函数重载。函数重载满足的条件:同一作用域 函数名称相同 函数参数类型不同,或者个数不同或者顺序不同注意:函数的返回值不可以做为函数重载的条件函数重载的注意事项:引用作为重载的条件Void func( int &a){}Voi

2020-06-08 16:43:30 160

原创 C++空指针访问成员函数的一些注意事项

空指针访问成员函数C++中空指针也可以访问成员函数,但是要注意看有没有用到this指针,如果有用到this指针就得加入this是否为空的判别来提高代码的健壮性。如下面的例子;1.没有this为空的判别:但是showClassAge函数访问了成员变量,这个操作在C++中默认用this指针来访问成员变量(这样才可以确定是哪个对象在调用或者修改成员变量);但是用空指针的时候还没有实例化出对象,因此空指针用到this时就会程序就会报错。为了改进程序,提高代码的健壮性,加入this指针是否为空..

2020-06-07 10:34:47 157

原创 C++ this指针浅析+例子深入理解this和拷贝构造函数

1.为什么要有this指针?首先我们知道类中的成员变量和成员函数是分开存储的,除了非静态变量别的(静态变量,非静态成员函数,静态成员函数)都不属于类的对象上,即每一个非静态成员函数只会诞生一份函数实例,也就是多个同类型的对象会共用一块代码,我们需要解决的问题是如何知道是谁在调用这块代码?这时就需要this指针。2.this 指针的简介this指针隐含在每个非静态成员函数内的一种指针。无需定义,直接用即可。this 的用途:当形参和成员变量同名时,可以用this指针来区分。 在类的非静态

2020-06-07 09:55:04 414

原创 C++面向对象之构造函数

构造函数的分类:默认构造函数(无参)person p1 (){}有参构造函数 person p2(int a ){....}拷贝构造函数person p3 (const person_2 & p)(利用另一个类来初始化)(这里的const 是为了防止修改原类)构造函数的调用括号法person p1; person p2(10) ; person p3 (p2);\ 显示法 person p1 ; person p2 =person (10); person p3 =perso.

2020-06-06 18:54:30 379

原创 C++之经典坑--深拷贝与浅拷贝

浅拷贝:简单的赋值拷贝操作(编译器提供的默认拷贝构造函数也是用浅拷贝,其中得拷贝操作都是等号赋值)浅拷贝带来的问题就是堆区的内存重复释放。(例子: 当构造函数在初始化一个对象时创建了一块内存,当在用拷贝构造函数时就会简单的将要拷贝的对象的地址简单复制给要创建的对象,意思就是两个指针都指向同一块内存空间,当程序结束时,调用析构函数释放内存时就会出现同一块内存重复释放的情况。)深拷贝: 在堆区重新申请内存空间(该段程序执行完,对象被销毁,需要释放内存,这时就用到了析构函数,函数内部实现对堆区新开辟的内存

2020-06-06 18:49:45 131

原创 深监督

Deep learning :1.隐藏层的特征透明度不高以及辨别力不高。2.训练困难,存在梯度消失和爆炸;对算法行为缺乏通透的数学理解。3.过度依赖大量数据的训练,以及训练过程中需要复杂的调参;4.不同的初始化对网络的影响微不足道(negligible)深监督(Deep supervisor )在深度神经网络的某些中间隐藏层加了一个辅助的分类器作为一种网络分支来对主干网络进行监督的技巧,用来解决深度神经网络训练梯度消失和收敛速度过慢等问题。还可以起到一定的正则化的作用。简单说就是针

2020-05-30 16:01:27 3863

原创 CNN小知识

李宏毅--CNN 笔记为什么卷积核的数量等于输出的通道数?因为一个卷积核会计算所有的输入通道,所以一个卷积核计算得到的feature map是可以代表输入图片的一个特征。CNN和fully connected network的区别 简单说就是:CNN是全连接网络的特例,减少了参数同时将参数共享。具体说就是:全连接:nxn输入,要得到mxm的输出每个输出值需要nxn个参数,共需要nxnxmxm个,全连接层的参数量一般占到百分之八十。在 CNN 中,全连接常出现在最后几层,用于对.

2020-05-30 09:21:09 207

原创 Why CNN?

Why CNN?some patterns are much smaller than the whole image. The same patterns appear in different regions. Subsampling the pixels will not change the object.

2020-05-30 08:42:30 230

原创 C++ 内存分区以及堆栈区别

C++ 内存主要分为四块:代码区:存放函数体的二进制代码,由操作系统管理 全局区:存放全局变量、静态变量和常量 栈区:由编译器自动分配释放,存放函数的参数值以及局部变量值 堆区:由程序员释放,程序员不释放的话,程序结束时由操作系统回收。堆栈区别:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,若程序员忘记释放的话,程序结束时由操作系统回收。 空间大小:(一个进程一个堆, 一个线程一个栈)栈在win32平台下默认1MB预留空间, 初次递交8KB

2020-05-26 15:31:31 192

原创 指针常量 or 常量指针???

1.常量指针:const int *p = &a特点: 指针的指向可以修改,只能读取指向内存中的数据但不可以修改;防止引用修改内存中的数据。(常量修饰指针指向的内存中的数据)2.指针常量: int *const p= &a特点: 指向不可以修改,但指向的内存中的数据可以修改。(常量修饰指针,即该指针本身是一个常量,)...

2020-05-26 14:10:55 85

空空如也

空空如也

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

TA关注的人

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