一、卷积就是特征提取器,就是CBAPD。
二、FCN
通常用在图像分割任务中,进行像素级的分类,缩写是full connect network,所有网络由卷积层构成没有全连接层。分割网络最后通过一个反卷积层将输出尺寸恢复到和输入尺寸大小一样。
三、assert
python中的assert是断言函数,当满足某种条件时构造错误。
四、python中的变量加上下划线
python中变量前的单下划线,双下划线,前后双下划线都有特殊意义。
添加链接描述
五、RPN
RPN是faster rcnn里提出来的一种产生候选区域(ROI)的结构。
链接
六、ROI Pooling
输入是特征图和RPN生成的ROI,然后利用最大池化到同意尺度(7*7)。
七、SSP
3分钟理解Spatial Pyramid Pooling层 (SPP层)
八、1X1卷积核作用
1、加深模型,引入更多的非线性能力。
2、改变维度,用更少的计算量实现维度改变。
链接
九、交叉验证
数据一般分为训练集、验证集、测试集,测试集完全不参与训练。
训练过程中常选择一部分数据进行验证,进行边训练边验证来看模型的效果以便随时调整模型超参数。
例如10折交叉验证(10-fold cross validation),将数据集分成十份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计,一般还需要进行多次10折交叉验证求均值,例如:10次10折交叉验证,以求更精确一点。
参考链接
十、多尺度训练技巧
十一、多模型结合
十二、dataset和dataloader
十三、目标检测resize的原因
代码实现固定尺寸是因为目前都是基于mini-batch去训练网络的,在单卡上若batch_size > 1, 这个mini-batch中的所有输入必须同尺寸(不然无法构成4-D 张量,仅仅是一个list of 3-D tensor, 这样是无法GPU并行的)。另外,有可能输入图片的分辨率很大,直接输入占用内存,且速度慢。
十四·、不同深度卷积层提取的特征
先说结论:一般网络越深越宽,性能越好(不一定)。
浅层网络提取局部细节的边缘轮廓或纹理信息,而深层网络提取的是全局抽象的语义信息。
卷积核的一个重要作用就是做信息的区域合并(region cross)和通道间的信息合并(channel cross)。合并后的信息自然具有更到的抽象性。
b站链接
十五、目标检测为什么还要resize图像
十六、反向传播算法关于batch的计算
反向传播算法推导过程(非常详细)
目标检测里虽然没有全连接网络时也需要固定的输入尺寸是因为一个batch里所有的样本数维度应该相同。
如:
Z是一个batch里所有样本的所有特征构成的矩阵。
十七、新建虚拟环境失败的可能原因
尝试了网上的各种方法都失败了最后发现是挂了VPN,关闭就好了