Pocketflow 使用
Pocketflow的简介:https://pocketflow.github.io/
由两个modules组成:Learner module 负责利用随机hyperparameters压缩并fine-tuning,optimizer module 负责依据随机参数对应的结果确定最佳的压缩参数。Learn module 遍历的hyperparameter来自于:
Name | Description |
---|---|
ChannelPrunedLearner
|
channel pruning with LASSO-based channel selection (He et al., 2017) |
DisChnPrunedLearner
|
discrimination-aware channel pruning (Zhuang et al., 2018) |
WeightSparseLearner
|
weight sparsification with dynamic pruning schedule (Zhu & Gupta, 2017) |
UniformQuantLearner
|
weight quantization with uniform reconstruction levels (Jacob et al., 2018) |
UniformQuantTFLearner
|
weight quantization with uniform reconstruction levels and TensorFlow APIs |
NonUniformQuantLearner
|
weight quantization with non-uniform reconstruction levels (Han et al., 2016) |
压缩后可以快速训练收敛。
optimizer module 的策略来自于
Gaussian Processes (GP, Mockus, 1975), Tree-structured Parzen Estimator (TPE, Bergstra et al., 2013), and Deterministic Deep Policy Gradients (DDPG, Lillicrap et al., 2016) 以及当前hyperparameters的reward
安装Pocketflow:https://pocketflow.github.io/installation/
本地安装或在docker环境中安装
本地安装:
配置文件 path.conf 说明数据集路径(.tfrecord)以及预训练模型的路径
首先安装 anaconda 和 tensorflow,注意python 版本不能高于3.6
一句话就可训练:./scripts/run_local.sh nets/resnet_at_cifar10_run.py
docker环境安装:
官方推荐 horovod docker ,因其支持多GPU分布
一句话训练:./scripts/run_docker.sh nets/resnet_at_cifar10_run.py
压缩方法:
参考https://pocketflow.github.io/tutorial/
输出:*.tflite 文件
Step 1: 准备数据成TFRecord格式
Step 2: 根据上面的步骤训练或直接下载 .ckpt 模型 保存在 models
Step 3: 选择压缩方法 开始调优压缩后的模型
./scripts/run_local.sh nets/resnet_at_ilsvrc12_run.py \ --learner dis-chn-pruned
压缩方法与arg对应:
Learner name | Learner class | Note |
---|---|---|
full-prec
|
FullPrecLearner
|
No model compression |
channel
|
ChannelPrunedLearner
|
Channel pruning with LASSO-based channel selection (He et al., 2017) |
dis-chn-pruned
|
DisChnPrunedLearner
|
Discrimination-aware channel pruning (Zhuang et al., 2018) |
weight-sparse
|
WeightSparseLearner
|
Weight sparsification with dynamic pruning schedule (Zhu & Gupta, 2017) |
uniform
|
UniformQuantLearner
|
Weight quantization with uniform reconstruction levels (Jacob et al., 2018) |
uniform-tf
|
UniformQuantTFLearner
|
Weight quantization with uniform reconstruction levels and TensorFlow APIs |
non-uniform
|
NonUniformQuantLearner
|
Weight quantization with non-uniform reconstruction levels (Han et al., 2016) |
保存在models_dcp_eval文件夹
Step 3: 转化成 tflite 格式:
python tools/conversion/export_pb_tflite_models.py \ --model_dir models_dcp_eval
保存在 models_dcp_eval
Pocketflow 使用相关推荐
- 对话腾讯AI Lab:即将开源自动化模型压缩框架PocketFlow,加速效果可达50%
整理 | Jane 出品 | AI科技大本营 [导语]腾讯 AI Lab 机器学习中心今日宣布成功研发出世界上首款自动化深度学习模型压缩框架--PocketFlow,并即将在今年10-11月发布开源代 ...
- 腾讯AI Lab开源世界首款自动化模型压缩框架PocketFlow:将深度学习装进口袋
来源:腾讯AI 实验室 腾讯AI Lab机器学习中心今日宣布成功研发出世界上首款自动化深度学习模型压缩框架--PocketFlow,并即将在近期发布开源代码.这是一款面向移动端AI开发者的自动模型压缩 ...
- 腾讯 AI Lab 正式开源PocketFlow自动化深度学习模型压缩与加速框架
11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源"PocketFlow"项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种模型压缩与加速算法并 ...
- 优秀!腾讯AI Lab开源模型压缩与加速框架PocketFlow!
点击我爱计算机视觉标星,更快获取CVML新技术 PocketFlow,成熟高效的模型压缩与加速框架,经过腾讯内部AI技术商用实践检验,你值得拥有- 以下内容来自腾讯AI实验室(tencent_aila ...
- 腾讯PocketFlow模型压缩与加速实现
1. 开发环境: Ubuntu16.04 Python3.6 tensorflow1.12 2. 安装 PocketFlow github地址: 官网教程:https://pocketflow.git ...
- 11月最佳机器学习开源项目Top10!
整理 | Jane 出品 | AI科技大本营 过去一个月,我们从近 250 个机器学习开源项目中挑选出了最受大家关注的前十名.这些项目在 GitHub 上平均 Stars 数为 2713.这些项目涉及 ...
- 阿里首次开源深度学习框架X-Deep Learning
今年,各企业在开源路上的势头可以说是"你追我赶",谁也不甘落后.6 月,小米宣布开源自己在移动端深度学习框架 MACE:9 月,腾讯 AI Lab 宣布开源一款自动化深度学习模型压 ...
- 2018年度自动机器学习框架盘点
面试:你懂什么是分布式系统吗?Redis分布式锁都不会?>>> 自动机器学习在过去的一年里呈爆发式的增长态势,一个又一个新的自动化学习框架的诞生让人眼花缭乱,目不暇接 为了方便 ...
- 2018年终总结之AI领域开源框架汇总
2018年终总结之AI领域开源框架汇总 [稍显活跃的第一季度] 2018.3.04--OpenAI公布 "后见之明经验复现(Hindsight Experience Reply, HER)& ...
最新文章
- 销售人员26个致命弱点
- Cassandra - Insert after Delete fails silently
- Redis数据的类型
- java消费rabbitMQ队列消息
- mysql8.0.11密码_mysql8.0.11安装和修改密码(转载)
- Android模拟器adb命令介绍
- 一种简单有效的3D模型的动画多线程方案
- win7电脑设备序列号怎么查_win7硬盘序列号怎么看|win7查看硬盘序列号的方法
- 移动通信基础(5)信道估计
- 教学系列CentOS安装和配置无线网卡
- c语言标准差公式标准差数组,Excel标准差计算函数Stdev和StdevP的用法与区别,包含4个实例...
- 阿里云 python_阿里云python sdk
- TFS映射关系出错的几种
- 【Spring常见错误】java.lang.NoClassDefFoundError: redis/clients/jedis/UnifiedJedis
- 华为宣布人事调整:余承东调离华为云
- android 抠图功能吗,抠图宝(抠图宝.和图)V10.01 安卓版
- 自动驾驶专业名词简写简写缩写
- IAAS云计算产品畅想-云主机的产品定位
- ubuntu18.04下vi不能使用方向键和退格键
- Qt中代码添加背景图
热门文章
- redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...
- 用户体验五要素_UX系列课(三):用户体验影响力金字塔及五大要素
- 通过这个方法竟然可以看到声音传播的速度!?
- 如果在我爸的朋友圈当杠精,会挨揍吗?
- 我怀疑全国最会吹牛的人,都在这8个公众号上了
- 论文排版怕翻车?这个排版神器赶紧用起来!
- 全校师生放6天春假;清华大学设立天文系;郭守敬望远镜光谱数突破千万;《自然》发表最新发现;百度败诉需道歉;这就是今天的大新闻...
- adb android源码分析,Android源码分析(十六)----adb shell 命令进行OTA升级
- mysql映射超_Hibernate的映射类型 hibernate mysql映射类型
- mindray心电监护仪使用说明_怎么看监护仪上的参数