09 2018 档案
摘要:const作用: 1.定义常量,可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。 const int Max = 100; void f(const int i) { i=10;//error! } //如果在函数体内修改了i,编译器就会报错 2.便于进行类型检查 const常量有数据类型,
阅读全文
摘要:总结的很好的一篇博客:https://blog.csdn.net/App_12062011/article/details/81665140 定点化: 百度搜“模型压缩定点化” https://blog.csdn.net/u011961856/article/details/76736103 htt
阅读全文
摘要:bn一般就在conv之后并且后面再接relu 1.如果输入feature map channel是6,bn的gamma beta个数是多少个? 6个。 2.bn的缺点: BN会受到batchsize大小的影响。如果batchsize太小,算出的均值和方差就会不准确,如果太大,显存又可能不够用。 3.
阅读全文
摘要:1.bouding box regression总结: rcnn使用l2-loss 首先明确l2-loss的计算规则: L∗=(f∗(P)−G∗)2,∗代表x,y,w,h 整个loss : L=Lx+Ly+Lw+Lh 也就是说,按照l2-loss的公式分别计算x,y,w,h的loss,然后把4个lo
阅读全文
摘要:c++中内存分成5个区:堆、栈、自由存储区、全局\静态存储区、常量存储区 栈是一种连续存储的数据结构,具有先进后出的性质。堆是一种非连续的树形存储数据结构,每个节点有一个值,整棵树是经过排序的,特点是根节点的值最小(或最大),且根节点的两个子树也是一个堆。 堆和栈的区别: (1)管理方式:堆中资源由
阅读全文
摘要:4.malloc(free)和new(delete)的区别 malloc()函数: 1.1 malloc的全称是memory allocation,中文叫动态内存分配。 原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes
阅读全文
摘要:c++三大特性:封装、继承、多态。封装使代码模块化,继承扩展已存在的代码,多态的目的是为了接口重用 虚函数实现:虚函数表;指针放到虚函数表 多态:同名函数对应到不同的实现 构造父类指针指向子类的对象 father *p = new son(); 多态性是允许你将父对象设置成为和一个或更多的他的子对象
阅读全文
摘要:1.C++ 多态,多态的实现,c++虚函数,虚函数和纯虚函数有什么区别,虚函数的实现原理,虚继承,析构函数能否为虚,为什么析构要虚函数,析构函数声明为虚函数的作用,构造函数为啥不能定义为虚函数,析构函数为啥一般定义为虚函数 2.c++内存管理机制 //3.const,static,static作用,
阅读全文
摘要:行人检测中的mr,fppi这些指标??? 3种距离:欧式距离、SmoothL1距离、IoU距离 总的loss公式:3个部分组成Lattr是预测框和匹配的gt尽可能接近 Lrepgt是预测框和周围没匹配的gt尽可能远离 Lrepbox是预测框和周围的其他预测框尽可能远离 整体上loss的计算是针对每个
阅读全文
摘要:1.loss要规范化,这样就不会受图片大小的影响 2.w、h采用log:比较特殊的是w,hw,h的regression targets使用了log space. 师兄指点说这是为了降低w,hw,h产生的loss的数量级, 让它在loss里占的比重小些, 不至于因为w,hw,h的loss太大而让x,y
阅读全文
摘要:faster缺点:1.不是全卷积,roi出来后是两个fc层,这样会丧失平移变性。 2.每个roi都要单独经过两个fc层,也就是分别进行分类和回归,耗时 也有种说法是roi-pooling后导致平移变性丧失,这个地方还要深入思考 resnet在以faster结构为检测框架的时候,是stage4和之前作
阅读全文
摘要:巨大的问题:resnet网络的具体结构,每一层是什么样子的,每个stage是什么样子的,为什么要这么设计??? resnet101作backbone的faster的网络结构是经过修改了的,不是简单的把fc前面的最后一层作为backbone https://github.com/Eniac-Xie/f
阅读全文
摘要:index存储的是下标 https://blog.csdn.net/siyue0211/article/details/80959352 看一下我的代码和这个博客里面的代码,人家的工程优化用的多好,学习
阅读全文
摘要:定义的box是左上角的x、y以及宽度w、高度h iou计算出来的交集的w、h必须判断是否大于0,这避免了两个框没有交集的情况。如果不判断,可能存在w、h都为负生成iou>0的情况进而影响结果。 +1操作是计算像素点个数,这个地方其实有点没太理解到,但开源的代码都是这么写的。
阅读全文
摘要:https://blog.csdn.net/krais_wk/article/details/80938752 nms c++实现
阅读全文
摘要:https://leetcode.com/problems/sort-list/discuss/46714/Java-merge-sort-solution 链表初始化代码:ListNode* origin = new ListNode (0); 此题要求时间复杂度是o(nlogn),空间复杂度是o
阅读全文
摘要:Combination Sum:所有数都正数,原始数组中没有重复的数字,生成的子数组中可以重复使用某一个数值 Combination Sum II : 所有数都正数,原始数组中有重复的数字,生成的子数组中不能重复使用某一个数值 Combination Sum III: 所有数都正数且只能是1到9之间
阅读全文
摘要:首先明确物体太小太大都不好检测(都从roi的角度来分析): 1.小物体: a.本身像素点少,如果从anchor的点在gt像素内来说,能提取出来的正样本少 b.小物体会出现iou过低。具体来说,假设a是一个框,b是一个小框(gt),就算a的框和b的框重叠的部分占到了b的90%,但是如果a的框比较大,i
阅读全文
摘要:判断链表有环,环的入口结点,环的长度 1.判断有环: 快慢指针,一个移动一次,一个移动两次 2.环的入口结点: 相遇的结点不一定是入口节点,所以y表示入口节点到相遇节点的距离 n是环的个数 w + n + y = 2 (w + y) 经过化简,我们可以得到:w = n - y; https://ww
阅读全文
摘要:class Solution { public: TreeNode* invertTree(TreeNode* root) { if(root == NULL) return NULL; TreeNode* tmp = invertTree(root->left); root->left = invertTree...
阅读全文
摘要:https://www.cnblogs.com/grandyang/p/4620012.html
阅读全文
摘要:用优先队列排序,优先队列是大根堆 https://www.cnblogs.com/grandyang/p/5454125.html
阅读全文
摘要:begin,end必须初始化,如果整个数组是排序好的,经过for循环后,begin、end还是原始的值。 注意:end必须比begin小1,因为最终的长度是end - begin + 1,关键在于这个+1的地方 https://www.cnblogs.com/jimmycheng/p/7673733
阅读全文
摘要:用unordered_map存储字符和字符对应的索引。 left是上一个重复字符的位置索引,初始为-1,因为最开始没有重复字符,如果初始为0,就表示第0个位置重复了,显然不符合题意。同时你也可以用i-left计算发现,如果前面没有重复,你的left初始化为0,计算就少1了。 注意:if判断中要m[s
阅读全文
摘要:后面3个题都是限制在1~n的,所有可以不先排序,可以利用巧方法做。最后两个题几乎一模一样。 217. Contains Duplicate 可以通过排序然后判断相邻两个的数是否相等,时间复杂度O(nlogn),空间复杂度O(1) 使用hash-map,时间复杂度时间复杂度O(n),空间复杂度O(n)
阅读全文
摘要:class Solution { public: int hammingDistance(int x, int y) { int res = x ^ y; int count = 0; int m; while(res){ m = res & (res - 1); co...
阅读全文
摘要:这个题和剑指上的倒数第k个结点略微有点不一样,找到倒数第k个只需要移动n-1次,但删除倒数第k个需要移动n次,因为需要找到倒数第k个后面那个 还有如果k值大于等于了长度,返回的是head的next 注意p2->next = p2->next->next https://www.cnblogs.com
阅读全文
摘要:100. Same Tree 101. Symmetric Tree
阅读全文
摘要:这个题其实是做26进制转换 这个地方记得减大A,不是小a https://blog.csdn.net/feliciafay/article/details/42332281
阅读全文
摘要:这个题只存储26个字母的,之前用的256个字符,所以可以直接用s[i]这种作为坐标,但现在只存储在26个中,坐标值是0到25,必须减去'a'才行,不减的话可能是100多的assic码 https://blog.csdn.net/fly_yr/article/details/49886391
阅读全文
摘要:比较通用的方法: https://www.cnblogs.com/zhoudayang/p/5126842.html https://blog.csdn.net/xsloop/article/details/50731987
阅读全文
摘要:一次遍历就可以 https://www.cnblogs.com/wingyip/archive/2016/05/18/5507089.html
阅读全文
摘要:最开始写成int i,j = 0;就报错了 http://www.cnblogs.com/grandyang/p/5533305.html
阅读全文
摘要:class Solution { public: vector fizzBuzz(int n) { vector result; if(n <= 0) return result; for(int i = 1;i <= n;i++){ if(i%15 == 0) ...
阅读全文
摘要:House Robber:不能相邻,求能获得的最大值 House Robber II:不能相邻且第一个和最后一个不能同时取,求能获得的最大值 House Robber III:二叉树下的不能相邻,求能获得的最大值 Paint House:用3种颜色,相邻的房屋不能用同一种颜色,求花费最小 Paint
阅读全文
摘要:和剑指offer上有个题很像,但当时没考虑到比如只有cc,整个字符完全都是重复的情况
阅读全文
摘要:https://blog.csdn.net/pistolove/article/details/46868017
阅读全文
摘要:数字的末尾为0实际上就是乘以了10,20、30、40其实本质上都是10,只不过是10的倍数。10只能通过2*5来获得,但是2的个数众多,用作判断不准确。 以20的阶乘为例子,造成末尾为0的数字其实就是5、10、15、20。 多次循环的n,其实是使用了多个5的数字,比如25,125等等。 n/5代表的
阅读全文
摘要:用异或解决 用https://www.cnblogs.com/grandyang/p/4756677.html的第二种方法 class Solution { public: int missingNumber(vector<int>& nums) { int length = nums.size()
阅读全文
摘要:注意k可能大于length
阅读全文
摘要:118. Pascal's Triangle 第一种解法:比较麻烦 https://leetcode.com/problems/pascals-triangle/discuss/166279/cpp-beats-1002018.9.3(with-annotation) 第二种解法: http://w
阅读全文
摘要:https://blog.csdn.net/helloiamclh/article/details/77932774
阅读全文
摘要:count()用来查找set中某个某个键值出现的次数 https://blog.csdn.net/lym940928/article/details/79671879
阅读全文
摘要:牛顿迭代法 https://blog.csdn.net/hnu2012/article/details/72598038 https://www.cnblogs.com/liujinhong/p/6014973.html 重新找了一个方便理解的代码: https://www.cnblogs.com/
阅读全文
摘要:1.链表反转 2.快排 3.m*k n*k两矩阵计算欧几里得距离np.tile 4.链表排序,要求时间复杂度小于O(N^2),空间O(1),不允许改变链表的值 5.2sum及其变体 6.给一个数组和target,找到和为target的数对,找出所有,重复也视为不同的方案7.给定0到n-1,有m个规则
阅读全文
摘要:class Solution { public: int invalid = 1; int StrToInt(string str) { bool minus = false; int index = 0; long long num = 0; if(str.size() != 0 && s...
阅读全文
摘要:class Solution { public: int TreeDepth(TreeNode* pRoot) { if(pRoot == NULL) return 0; int depth,left,right; left = TreeDepth(pRoot->left); righ...
阅读全文
摘要:int maxProduct(int length){ if(length < 2) return 0; if(length = 2) return 1; if(length = 3) return 2; int numof3 = length/3; if(length - numof3*3 == 1...
阅读全文
摘要:注意multiset的一个bug: multiset带一个参数的erase函数原型有两种。一是传递一个元素值,如上面例子代码中,这时候删除的是集合中所有值等于输入值的元素,并且返回删除的元素个数;另外一种是传递一个指向某个元素的iterator,这时候删除的就是这个对应的元素,无返回值。 https
阅读全文
摘要:https://blog.csdn.net/otuhacker/article/details/10366563 每次是小数的最后一个,然后用的next位置进行的交换,如果第二个数比第一个数小,就相当于第二数和自己进行交换 链表只能从前往后
阅读全文
摘要:1.Resize成448*448,图片分割得到7*7网格(cell),某个物体的中心落在这个网格中此网格就负责预测这个物体 2.最后一层是一个7*7*30的cube,每个 1*1*30的维度对应原图7*7个cell中的一个,1*1*30中含有类别预测和bbox坐标预测,前10个是两个不同boudin
阅读全文
摘要:https://www.sohu.com/a/168738025_717210 1.vgg16的模型:https://github.com/davidgengenbach/vgg-caffe/blob/master/model/VGG_ILSVRC_16_layers_deploy.prototxt
阅读全文
摘要:http://cocodataset.org/#detection-leaderboard
阅读全文
摘要:一般的初始化就是用zeros这种去初始化,但你想测试一些函数的时候,如果是全0其实不好测试 可以先用python本身初始化一个list,然后转换成numpy的array 这样就能测试一个floor函数代表什么意思了
阅读全文
摘要:class-aware detector 和 class-agnostic detector:https://blog.csdn.net/yeyang911/article/details/68484486 既解决多尺度,又解决小物体 1.实现的细节:rpn阶段用了5个stage,fast阶段只用了
阅读全文
摘要:1.为什么high level特征位置信息不精确? fpn:The bottom-up feature map is of lower-level semantics, but its activations are more accurately localized as it was subsa
阅读全文
摘要:编程:1.lfu cache、lru cache 2.给一个正整数集合,求一个和最大且能被3整除的子集。Follow up: 如果集合里有正有负,怎么做(http://www.1point3acres.com/bbs/thread-331981-1-1.html) 3.leetcode136变体,如
阅读全文
摘要:编程:1.dp的题 2.白纸写代码,给一串数和一个目标值,使用四则运算和括号使得这串数最后计算结果为目标值,打印出所有的方案,要求是这些数每个最多被使用一次,可以不被用到。 3.考了一个查找数组里,未出现过的最小整数 4.链表、字符串处理 5.连续子序列的最大和 6.单向链表的反转 7.二叉树第k层
阅读全文
摘要:编程:1.数组二分查找,递归非递归 2.求根节点到叶节点的最远距离 3.在n个数的数组中,1到n中只有一个数没有出现,求这个数 4.实现组合C(m,n),也就是从m个数中选择n个,求出所有组合。其实也就是背包问题,利用递归实现即可。 5.判断二叉树是不是二叉搜索树 6.树的遍历,递归和非递归 7.最
阅读全文