win10下跑pytorch框架的Faster RCNN(https://github.com/ruotianluo/pytorch-faster-rcnn),安装git,安装教程(https://blog.csdn.net/qq_32786873/article/details/80570783)
python的某些函数
- append和extend(https://www.cnblogs.com/subic/p/6553187.html)
- argmax和max(https://blog.csdn.net/weijianmeng/article/details/7073134)
- dict(https://www.cnblogs.com/wushuaishuai/p/7678210.html)
- zip (https://www.cnblogs.com/wushuaishuai/p/7766470.html)
- nn.linear 线性函数(https://www.cnblogs.com/Archer-Fang/p/10645473.html和https://blog.csdn.net/m0_37586991/article/details/87861418)
- reverse list翻转(https://blog.csdn.net/gymaisyl/article/details/83785853)
- round(https://blog.csdn.net/qq_43313588/article/details/86624840)
- astype(https://www.cnblogs.com/fuhang/p/8045973.html)
- permute 数据换维(https://blog.csdn.net/york1996/article/details/81876886)
- view_as(https://blog.csdn.net/qq_37385726/article/details/81738518)
- contiguous(https://blog.csdn.net/appleml/article/details/80143212)
- torch.max(input,dim=?)[?](https://blog.csdn.net/Z_lbj/article/details/79766690)
- np.stack,np.vstack和np.hstack(https://blog.csdn.net/csdn15698845876/article/details/73380803)
- np.newaxis(https://blog.csdn.net/molu_chase/article/details/78619731)
- 双星**是幂运算的意思
- meshgrid(https://blog.csdn.net/myj0513/article/details/6871482)
- transpose(https://blog.csdn.net/u012762410/article/details/78912667)
- numpy的ascontiguousarray(https://zhuanlan.zhihu.com/p/59767914)
- lambda这函数真是看一次忘一次没谁了……(https://blog.csdn.net/zjuxsl/article/details/79437563)
- numpy与torch之间的转换(https://blog.csdn.net/qq_37385726/article/details/81700817)
- numpy.choice(https://blog.csdn.net/IAMoldpan/article/details/78707140)
- nonzero(https://blog.csdn.net/qq_32005671/article/details/74011045)
- numel(https://blog.csdn.net/ccbrid/article/details/86759679)
- max(1)(https://blog.csdn.net/qq_41800366/article/details/86313052)
python的一些用法
- property修饰器的使用(https://www.cnblogs.com/linuxchao/p/linuxchao-property.html)
- 修饰器(https://www.jianshu.com/p/ab702e4d4ba7)
- glob通配符(https://blog.csdn.net/dcrmg/article/details/78309469)
snapshot文件的保存
- pth文件和pkl文件(https://www.angtk.com/question/28)
看fasterRCNN的第四天
construct_graph()函数构建计算图,定义在train_val里面,self.net.create_architecture函数首先self.net是一个vgg16()网络,在network里面定义了create_architecture函数,传入的参数包括anchor的尺寸和长宽比、类别数,之后是_init_modules()函数,第一句_init_head_tail函数定义在vgg16.py里面,首先更改了vgg16中classifier部分的最后一层,因为最后一层是对于相应数据集类别个数的回归,所以没有用就移除了,之后更改vgg16中feature部分前10层的参数属性不允许其做反向传播进行梯度下降。再移除feature部分的最后一层是和最大池化层.这部分结束跳回到_init_modules()函数里,开始定义RPN的结构
首先经过一个3*3的卷积,之后分成两个支路分别做rpn_cls_score_net分类可能性的1*1卷积和rpn_bbox_pred_net边框预测的1*1卷积,对应维度分别为2和4,分类为2维是因为只做有object的分类,只区分前景和背景。这时候就是已经利用RPN训练出了proposal了,这时候要把proposal对应到原来的feature map上面,之后是roipooling,这里重新使用vgg16的classifier部分的两个全链接层,然后再分成两个分支,一个做数据集的分类,一个做边框的回归,这时候的边框回归设计到了具体的类别(之前proposal 是大致的回归,只要是前景就好,所以就用了4个)所以现在是4*21维。
第13天(https://blog.csdn.net/Mr_health/article/details/84952190)
第14天(Faster R-CNN代码解读之anchor_target_layer.py - hancoder的博客 - CSDN博客)
(Faster R-CNN代码解读之proposal_target_layer - hancoder的博客 - CSDN博客)