【导读】之前详细介绍了轻量级网络架构的开源项目,详情请看深度学习中的轻量级网络架构总结与代码实现,本项目主要提供一个移动端网络架构的基础性工具,避免大家重复造轮子,后续我们将针对具体视觉任务集成更多的移动端网络架构。希望本项目既能让深度学习初学者快速入门,又能更好地服务科研学术和工业研发社区。后续将持续更新模型轻量化处理的一系列方法,包括:剪枝,量化,知识蒸馏等等,欢迎大家Star和Follow.
Github地址:https://github.com/murufeng/awesome_lightweight_networks
本文将主要介绍一个CPU端的最强轻量型架构,LCNet在CPU上简直飞起,精度提升比MobileNetV3快3倍!详细介绍如下:
PP-LCNet: A Lightweight CPU Convolutional Neural Network
Motivation:
近年来,随着特征提取模型能力的提高,很多轻量级的网络架构应运而生,而其中利用NAS进行搜索的网络架构也层出不穷。典型的就是Facebook的FBNet系列。但很多移动端轻量级算法的优化都脱离了产业最常用的Intel CPU设备环境,模型加速缓慢。因此,在本文中,作者重新思考了在Intel-CPU上设计网络的轻量级模型元素。作者特别考虑以下三个基本问题。
本文综合上述三个问题,总结了一系列在不增加推理时间的情况下提高精度的方法,以及如何将这些策略有效地结合起来以获得更好的精度和速度之间的平衡。最终提出了一种结合Intel-CPU端侧推理特性而设计的轻量高性能网络PP-LCNet,所提架构取得了比ShuffleNetV2、MobileNetV2、MobileNetV3以及GhostNet更优的延迟-精度均衡。具体网络架构如下:
主要解决方案:
import torch
from light_cnns import lcnet_baseline
model = lcnet_baseline()
model.eval()
print(model)
input = torch.randn(1, 3, 224, 224)
y = model(input)
print(y.size())
欢迎大家follow和star该项目地址,我们会持续跟踪前沿论文工作,若项目在复现和整理过程中有任何问题,欢迎大家在issue中提出!