- 博客(18)
- 收藏
- 关注
原创 new释放内存理解c++
释放内存后,本身抄指针的内容是不会改变的即指针指向没有变,但是它里面保存的地址所对应的内存在系统里标记为未使用的即指向的内存区域已经被系统收回了,这块内存随时可能会被分配给其他进程或进程里面的变量使用,所以要避免使用此指针,因此要把这个指针置为NULL, NULL指针是不指向任何一个地址的,nullptr 和 NULL 一样指针指向的是数组用delete[] (中间有无空格都可),否则用deletedelete[] delete [] 如下,其他指针有指向此new指针首地址,只需要...
2020-06-18 20:01:26
3314
原创 const用法 c++
const非指针变量需要在声明时初始化,const指针类型可以声明时不初始化const int n; // 错误const int n = 4; //正确const char *n; //正确 因为const修饰的是指针char* const p; // 错误 const修饰的是变量p constant variable “p” requires an initializer在函数中做形参普通形参(非指针,非引用)前面加不加const对实参没有影
2020-06-18 19:53:24
315
原创 BN层理解
bn层计算的均值和方差是channel的输入数据是nchw,求得的均值和方差均是长度为c的向量mini-batch指的是一个batch的所有样本对应通道组合成一个minibatch,1个nchw的数据有c个mini-batch一个mini-batch在一起进行求均值和方差HW的归一化,求出NC个均值与方差,然后N个均值与方差求出一个均值与方差的Vector,size为C, 即相同通道的一个mini_batch的样本求出一个mean和variance每次迭代时采用的是滑动平均方式更新,.
2020-06-18 18:47:42
1264
原创 KMP字符串匹配理解和c++实现
匹配过程中,若相同,主串和模式串指针各增加1若产生失配,则主串指针不变,模式串指针退回到next位置继续匹配,若模式串指针退回到0匹配失配,则主串指针加1,,模式串指针仍为索引为0的字符重新开始匹配计算模式串的next数组值next数组值表示:主串中第i个字符与模式串中第j个字符失配时,主串中第i个字符应该与模式串中哪个字符再进行比较,只和模式串有关,和主串无关/*StrLocation 0 1 2 3 4 5 6 7Str a b a a b c a ..
2020-06-18 18:21:52
146
原创 kmeans聚类 c++实现
/*num_class: 聚类数num_data:数据个数dimension:数据维度(每个数据是多少维的)data:待聚类数据指针cluster_center:聚类中心指针max_error:前后两次误差降低到此值迭代终止max_iters:最大迭代次数1、随机初始化聚类中心2、根据聚类中心计算每个样本属于哪个聚类中心3、根据聚出来数据重新计算每个类新的聚类中心重复2,3步骤*/void kmeans_cluster(const int num_class, const in.
2020-06-17 16:25:55
393
转载 反正切函数atan,atan2
atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2);那么这两个点形成的斜率的角度计算方法分别是:floatangle = atan( (y2-y1)/(x2-x1) );或float angle = atan2( y2-y1, x2-x1);atan 和 atan2 区别:1:参数的填写方式不同;2:atan2 的优点在于 如果 x2-x1等于0 依然可以计算,但是atan函数就会导致程序出错;...
2020-06-17 15:36:08
1995
原创 epoch,batchsize,iter的理解
epoch时期:一个epoch是指将所有训练样本都训练一遍batchsize批次大小:是指在一次迭代中样本的个数,也即批梯度下降中用来进行一次参数更新的样本数iter:是指完成一个epoch所需的迭代次数因此,总样本数/batchsize=iter总的迭代次数=iter*epoch在训练样本数通常大于测试样本数,因此训练时的iter也大于测试时的iter而epoch大小的选
2017-10-08 19:26:32
12394
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人