# X-ADMM **Repository Path**: growinware/x-admm ## Basic Information - **Project Name**: X-ADMM - **Description**: 软件情景自适应工具。贡献单位:西北工业大学 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-18 - **Last Updated**: 2021-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # X-ADMM #### 介绍 ##### 1.项目背景 人机物融合环境下的终端计算、存储等资源普遍具有能力受限且动态变化特征,针对深度学习模型的资源消耗不能根据硬件资源环境的变化自动优化的问题,通过主动的感知、智能的调整模型结构和部署,以适应外部环境变化。具体地,可以通过环境中的多个边-端资源协同来实现深度学习模型对资源环境变化的自适应。 ##### 2.解决方案 为了解决分布式环境下软件运行时的适应性问题,研究了以深度学习模型为代表的计算模型随分布式环境上下文自动优化技术,提出了X-ADMM方法。该方法融合了模型压缩和分割方法的优势。基于ADMM (Alternating Direction Method of Multipliers)的模型压缩方案,采用结构化剪枝方法并基于ADMM进行精细修剪。首先将DNN的权值剪枝问题归结为一个非凸优化问题,用组合约束来指定稀疏性要求,然后采用ADMM框架进行系统的权值修剪。利用ADMM,将原非凸优化问题分解为两个子问题进行迭代求解。其中一个子问题可以用随机梯度下降法求解,另一个子问题可以用解析法求解。通过对这两个子问题的求解完成剪枝过程。其次,在模型压缩完成之后,以层为粒度对模型进行划分,并将分割后的模型部署在不同的终端设备上。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/1018/191353_3d001c6e_9881251.png "屏幕截图.png") 图1 X-ADMM系统框架图 #### 安装教程 ##### 1.主机运行环境 * python 3.6.5 * numpy 1.14.3 * torch 1.3.1+cpu * torchvision 0.4.2+cpu * h5py 2.7.1 * pickle 4.0 * socket * threading ##### 2.嵌入式机运行环境 * python 3.6.5 * numpy 1.14.3 * torch 1.3.1+cpu * torchvision 0.4.2+cpu * h5py 2.7.1 * pickle 4.0 * socket * threading ##### 3.运行方法 * python -u main.py --config_file config.yaml --stage pretrain * python -u main.py --config_file config.yaml --stage admm * python -u main.py --config_file config.yaml --stage retrain #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)