项目实现:GitHub 参考博客:CNN模型之ShuffleNet v1论文:ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices v2论文:ShuffleNet V2: Practical Guidelines for Ecient CNN Architecture Design 一.分组卷积 Group convolution是将输入层的不同特征图进行分组,然后采用不同的卷积核再对…
论文地址:MobileNetV2: Inverted Residuals and Linear Bottlenecks 前文链接:『高性能模型』深度可分离卷积和MobileNet_v1 一.MobileNet v1 的不足 Relu 和数据坍缩 Moblienet V2文中提出,假设在2维空间有一组由 个点组成的螺旋线 数据,经随机矩阵 映射到 维并进行ReLU运算,即: 再通过 矩阵的广义逆矩阵 将 映射回2维空间: 对比 和 发现,当映射维度 时,数据坍塌:当 时,数据基本被保存.虽然这不是…
论文地址:HetConv 一.现有网络加速技术 1.卷积加速技术 作者对已有的新型卷积划分如下:标准卷积.Depthwise 卷积.Pointwise 卷积.群卷积(相关介绍见『高性能模型』深度可分离卷积和MobileNet_v1),后三种卷积可以取代标准卷积,使用方式一般是 Depthwise + Pointwise 或者是 Group + Pointwise 这样的两层取代(已有网络架构中的)标准卷积的一层,成功的在不损失精度的前提下实现了 FLOPs 提升,但是带来副作用是提高了网络延迟(…
转载自知乎:卷积神经网络的复杂度分析 之前的Inception学习博客: 『TensorFlow』读书笔记_Inception_V3_上 『TensorFlow』读书笔记_Inception_V3_下 一.时间复杂度 即模型的运算次数,可用FLOPs衡量,也就是浮点运算次数(FLoating-point OPerations). 单个卷积层的时间复杂度 Time~O(M2·K2·Cin·Cout) M:输出特征图边长 K:卷积核尺寸 C:通道数目 输出边长M计算公式为: M = (X - K +…
转载自知乎:Roofline Model与深度学习模型的性能分析 在真实世界中,任何模型(例如 VGG / MobileNet 等)都必须依赖于具体的计算平台(例如CPU / GPU / ASIC 等)才能展现自己的实力.此时,模型和计算平台的"默契程度"会决定模型的实际表现.Roofline Model 提出了使用 Operational Intensity(计算强度)进行定量分析的方法,并给出了模型在计算平台上所能达到理论计算性能上限公式. 一.指标介绍 1.计算平台的两个指标:算…
论文原址:MobileNets v1 TensorFlow实现:mobilenet_v1.py TensorFlow预训练模型:mobilenet_v1.md 一.深度可分离卷积 标准的卷积过程可以看上图,一个2×2的卷积核在卷积时,对应图像区域中的所有通道均被同时考虑,问题在于,为什么一定要同时考虑图像区域和通道?我们为什么不能把通道和空间区域分开考虑? 深度可分离卷积提出了一种新的思路:对于不同的输入channel采取不同的卷积核进行卷积,它将普通的卷积操作分解为两个过程. 卷积过程 假设有…
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新ing) NLP机器翻译深度学习实战课程·零(基础概念) NLP机器翻译深度学习实战课程·壹(RNN base) NLP机器翻译深度学习实战课程·贰(RNN+Attention base) NLP机器翻译深度学习实战课程·叁(CNN base) NLP机器翻译深度学习实战课程·肆(Self-Atte…
ShuffleNet系列是轻量级网络中很重要的一个系列,ShuffleNetV1提出了channel shuffle操作,使得网络可以尽情地使用分组卷积来加速,而ShuffleNetV2则推倒V1的大部分设计,从实际出发,提出channel split操作,在加速网络的同时进行了特征重用,达到了很好的效果 来源:晓飞的算法工程笔记 公众号 ShuffleNet V1 论文: ShuffleNet: An Extremely Efficient Convolutional Neural Netwo…
基础知识 Python3内置函数 『Python』库安装 『流畅的Python』第1~4章_数据结构.编码 『Python』基础数据结构常见使用方法 『Python CoolBook』数据结构和算法_多变量赋值&“*”的两种用法 『Python CoolBook:Collections』数据结构和算法_collections.deque队列&yield应用 『Python CoolBook:heapq』数据结构和算法_heapq堆队列算法&容器排序 『Python CoolBook…
2017-2018-2 165X 『Java程序设计』课程 助教总结 本学期完成的助教工作主要包括: 编写300道左右测试题,用于蓝墨云课下测试: 发布博客三篇:<2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目>.<2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算>.<2017-2018-2 165X 『Java程序设计』课程 每周成绩公布>,其中每周成绩按照班级课程进度定期更新: 发布七次作业: 点评博客…