为保证深度学习模型的预测精度,通常不能对其进行十分彻底的压缩,这导致压缩后的模型可能仍然不能顺利部署在嵌入式设备上。X-ADMM方法融合了模型剪枝和分割的优势,首先采用结构剪枝的方式并基于ADMM算法进行精细修剪,其次结合任务的实际需求综合考虑模型的延迟与能耗选择最佳分割点,将其以层为粒度分割并部署在不同的设备上。
X-ADMM算法是基于Python3.6环境下的pytorch、numpy等依赖库开发。算法输入为模型结构与性能需求,输出则为满足性能需求的调优后模型。该算法支持在CIFAR10,ImageNet等数据集上的深度神经网络的压缩+分割调优。在代码实现的过程中,X-ADMM算法参考了Neurosurgeon及RAP-XADMM工作。
算法名称 | 边端融合增强的模型压缩 (X-Alternating Direction Method Of Multipliers,X-ADMM) |
算法接口 | python x-admm.py --config_file config.yaml |
输入 | 模型结构与性能需求 |
输出 | 满足性能需求的调优后模型 |
支持数据集 | CIFAR10等 |
依赖库 | Python 3.6、PyTorch、numpy、NVIDIA GPU + CUDA cuDNN |
参考资源 | Neurosurgeon、RAP-XADMM |
gitlab链接:X-ADMM · GitLab (crowdhmt.com)
文章链接:[1] GUO B, WU Y, WANG H, et al. Context-aware adaptation of deep learning models for IoT devices[J]. SCIENTIA SINICA Informationis, 2020, 50(11): 1629.
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!