07 2017 档案
摘要:想象一下,当mini-batch 是真个数据集的时候,是不是就退化成了 Gradient Descent,这样的话,反而收敛速度慢。你忽略了batch 增大导致的计算 batch 代价变大的问题。如果盲目增大mini-batch size 确实是迭代次数减少了,但是计算时间反而会增加,因为每次计算代
阅读全文
摘要:工作过程:训练总样本个数是固定的,batch_size大小也是固定的,但组成一个mini_batch的样本可以从总样本中随机选择。将mini_batch中每个样本都经过前向传播和反向传播,求出每个样本在每一层每个神经元关于w和b的梯度。注意:同一个mini_batch中所有样本经过网络时,网络的参数
阅读全文
摘要:https://zhuanlan.zhihu.com/p/23178423 从这个总结看的出来,用sgd时,是每个mini_batch更新一次dropout,并且前向和反向传播都是会在经过dropout处理后的神经元上进行。比如这一层有10个神经元,有5个神经元停止工作,那前向和反向都会在另外5个神
阅读全文
摘要:http://blog.csdn.net/zhikangfu/article/details/51252692 https://www.52ml.net/2734.html sift特征检测步骤: 1.尺度空间的极值检测 2.特征点定位 3.特征方向赋值 4.特征点描述 尺度空间: 在图像信息处理模
阅读全文
摘要:通过计算和统计图像局部区域的梯度直方图来构成特征,先计算图片某一区域中不同方向上梯度的值,然后进行累积,得到直方图,这个直方图呢,就可以代表这块区域了,也就是作为特征,可以输入到分类器里面了。 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机
阅读全文
摘要:https://zhuanlan.zhihu.com/p/21412911 rcnn需要固定图片的大小,fast rcnn不需要 rcnn,sppnet,fast rcnn,ohem,faster rcnn,rfcn都属于基于region proposal(候选区域)的目标检测方法,即预先找出图中目
阅读全文
摘要:典型并且基础的错误: 错误显示: c++的类中只能有属性和方法(也可以说函数)。 方法就是你定义的类中的那些实现函数,属性相当于类中的那些参数。 上面代码中报错的for循环,目的是对result数组进行初始化,但这个for循环不是一个函数,在类里面是不允许这种执行语句的,必须转换成函数才行。因为re
阅读全文
摘要:priority_queue优先级队列,他的模板声明带有三个参数,priority_queue<Type, Container, Functional> Type 为数据类型, Container 为保存数据的容器,Functional 为元素比较方式。Container 必须是用数组实现的容器,比
阅读全文
摘要:参考代码: &:位与运算符 &&:逻辑运算符 &返回的是二进制位与运算后的二进制值,&&返回的是true或者false。对于&&,还有一个短路求值原则,即先计算&&前的值,再计算&&后的值。若&&前面为false,在&&后的方程式就不用计算了。 这个代码中,result && (result +=
阅读全文
摘要:写的一个代码,虽然正确通过了,但我觉得会报vector越界的错误
阅读全文
摘要:第一题 result = []x = x.strip().split("<")for res in x: res = res.split(">")[0] result.append(res) 第二题 result = []x = x.strip().split("<")for res in x: r
阅读全文
摘要:slover中有type,用于优化算法的选择,有6种: Stochastic Gradient Descent (type: “SGD”), AdaDelta (type: “AdaDelta”), Adaptive Gradient (type: “AdaGrad”), Adam (type: “
阅读全文
摘要:这两个题几乎是一样的,只是leetcode的题是排成最大的数,剑指的题是排成最小的 179. Largest Number a.需要将数组的数转换成字符串,然后再根据大小排序,这里使用to_string函数将整数转换成字符串,比printf的方式简洁 b.cmp函数必须用static才能使用 c.这
阅读全文
摘要:自己写的 father != NULL一定要注意,这种情况一个是让father->left能不报错,还有一个就是解决了一个bad case,就是这个结点就是最后一个结点就返回NULL,或者说万一父结点全是右子树的
阅读全文
摘要:错误代码: 正确代码: 可以看到不同点只是把current->val == pHead->val和current != NULL换了一下位置 错误的代码报错报的是:段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起
阅读全文
摘要:一个错误代码 若改成int depth = 0; return IsBalancedCore(pRoot,depth); 就对了。IsBalancedCore这个函数的第二个参数是传参数,需要引用,用的时候不能为常量0,必须是一个参数。 IsBalancedCore中depth参数必须&引用,如果不
阅读全文
摘要:另一种写法 必须是if(!result),不能用else,因为如果两个树的头是相同的,但左右却不同就会报错。这种情况应该是继续迭代第一个树的左右节点,但用else,就会直接进入第一个if并返回值了 {8,8,7,9,2,#,#,#,#,4,7},{8,9,2}用else就不行
阅读全文
摘要:不用迭代器的代码 mid是在vin中的索引,与pre相关的只是个数,所以用mid-start_vin来表示有多少个,然后再加上之前的开始坐标
阅读全文
摘要:这种方法没用迭代,而是使用了循环的方式
阅读全文
摘要:错误代码 会报“段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况引起” 因为k的数字可能大于整个链表的长度,这时p1可能指向空指针,空指针的next就会报错 如果去计算一遍整个链表的长度,再判断k与链表长度的大小,这样还是会和笨办法一样遍历两次链表,直接在for循
阅读全文