pytorch
nn.Conv2d(原通道数,现通道数,kernel_size=, padding=一般是(kernel_size-1)/2)
不同stride的maxpooling的作用
vgg可以根据https://github.com/pytorch/vision/blob/master/torchvision/models/vgg.py
写个循环定义出来
添加Vgg额外的层:仿照以上的循环,只要把设置通道数和pooling的位置就好,卷积过程特征图大小不变
vgg的使用:到con5_3后面的都是fine_trun,根据数据自定义
如何定义网络分支:在定义model的向前传递时,在分叉的地方,把x输入到不同的卷积里,结果统一打包到一起。
关于ssd的疑问:
- maxpooling不一样的kernal size和stride有什么意义,特别是特征图经历pooling前后不变化的,如kernel3*3,padding=1,stride=1
- delition的影响是什么
- 1维卷积的意义?增加了非线性,表达能力提高,同增加深度的意义一样,因为做了激活层
- 最后的anchor数很多,不同尺度的特征层定了个box数根本没意义,只是限定了每层的anchor数的比例。
ssd的代码逻辑:
- 数据处理py:如coco, voc, 针对数据集提供的格式写个接口,即一个类,定义该类的一个功能为输出需要的格式,类的__init__里面读取数据,类的功能里整理数据成需要的格式,对于ssd输入格式为img[]