深度学习——日常小点积累

写在前面

本文记录了日常遇到的和深度学习相关的一切知识,极其琐碎、杂乱,仅供个人记录,借鉴意义约为0哈哈哈。


卷积拆分

描述:比如将一个3乘3的卷积换为一个3乘1的卷积+一个1乘3的卷积。

特点:减少参数量

在哪见到

  • inception v3

”学习Factorization into small convolutions的思想,将一个二维卷积拆分成两个较小卷积,例如将7*7卷积拆成1*7卷积和7*1卷积。这样做的好处是降低参数量。paper中指出,通过这种非对称的卷积拆分,比对称的拆分为几个相同的卷积效果更好,可以处理更多,更丰富的空间特征。“

  • P3D(Pseudo-3D Residual Networks)

这个是视频处理模型,“这篇文章是用1*3*3卷积和3*1*1卷积代替3*3*3卷积(前者用来获取spatial维度的特征,实际上和2D的卷积没什么差别;后者用来获取temporal维度的特征,因为倒数第三维是帧的数量),毕竟这样做可以大大减少计算量,增加模型深度。而如果采用3D卷积来做的话,速度和存储正是瓶颈 ”

联想用途

  • 视频
  • 3D图像处理

动态batch

描述:训练

特点

关联:

1. 论文AdaBatch: Adaptive Batch Sizes for Training Deep Neural Networks

链接:https://openreview.net/pdf?id=SkytjjU8G

模型量化

参考博客

  1. https://chenrudan.github.io/blog/2018/10/02/networkquantization.html
  2. https://zhuanlan.zhihu.com/p/64744154shufflenet

推理框架和训练框架

训练框架:tensorflow、pytorch、keras、caffe、mxnet等

推理框架:阿里的mnn(移动端部署),腾讯的ncnn(移动端部署场景),NVIDIA的TensorRT(NIVDIA的GPU),Intel的OpenVINO(Intel CPU)等等

动态图和静态图

动态图框架:pytorch

静态图框架:TensorFlow、caffe

cs231n的课件中有介绍动态、静态图的区别

几种常见类型的卷积

转置卷积:可用于上菜样;可改变填充和步长得到不同输出尺寸

扩张卷积:扩张率;增大感受野

可分离卷积(空间、深度可分离):空间可分——3×3分成3×1和1×3;深度可分——3×3分成DW3×3和1×1

分组卷积:输入通道和卷积核都在分;训练很大的网络时效果较好

参考博客:

  1. https://zhuanlan.zhihu.com/p/57575810

BottleNeck结构

参考资料:

  1. https://zhuanlan.zhihu.com/p/98874284
  2. https://zhuanlan.zhihu.com/p/98692254

FLOPs、FLOPS、Multi-add

FLOPS:全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

FLOPs:最后一个s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。

Multi-add:乘法和加法操作

模型大小和参数量的关系

模型大小的单位通常是M(MByte,Byte是一个字节,8个比特位),参数量通常用float32表示。

因此模型大小字节数=参数量×4

猜你喜欢

转载自blog.csdn.net/s000da/article/details/93628835
今日推荐