微信公众号:小白图像与视觉
关于技术、关注
yysilence00
。有问题或建议,请公众号留言。
说明
本次作业为二种类型,分别是选择题和实践题。其中选择题是不定项选择。实践题需要在提示的地方填上代码,跑通项目。
资料
做作业时可以参考以下资料。
PaddleSlim代码地址: https://github.com/PaddlePaddle/PaddleSlim
文档地址:https://paddlepaddle.github.io/PaddleSlim/
选择题
【1】定点化量化的优点有哪些?
A. 存带宽 B. 低功耗 C. 低计算资源 D. 低存储体积
【2】在常规蒸馏任务中,以下说法正确的是:
A. 只有teacher model的参数需要更新
B. 只有student model的参数需要更新
C. teacher model和student model 的参数都需要更新
D.teacher model和student model 的参数都不需要更新
【3】是否能用MobileNetv1蒸馏ResNet50?
A: 能
B: 不能
【4】下面方法哪些可以减少模型推理时间?
A. 只对权重weight进行量化
B. 对ResNet50模型进行蒸馏提高精度
C. 对模型进行裁剪,减少通道数
D. 对权重weight和激活进行量化,预测采用INT8计算
【5】NAS的三个关键要素是:
A. 搜索空间
B. 搜索算法
C. 模型优化
D. 模型评估
选择题答题卡
请将每道选择题的答案写在这里:
【1】A B C D
【2】C
【3】B
【4】B C D
【5】A B D
图像分类模型量化教程
该教程以图像分类模型MobileNetV1为例,说明如何快速使用量化训练接口。
该示例包含以下步骤:
- 导入依赖
- 构建模型
- 定义输入数据
- 训练模型
- 量化模型
这个步骤中需要添加代码
- 训练和测试量化后的模型
以下章节依次介绍每个步骤的内容。
0. 安装paddleslim
!pip install paddleslim
Looking in indexes: https://pypi.mirrors.ustc.edu.cn/simple/
Collecting paddleslim
[?25l Downloading https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/69/3c/880afac020e3393da5a55b4e0b504d2b644a7ebe91092d953185f09660d1/paddleslim-1.0.1-py2.py3-none-any.whl (103kB)
[K 100% |████████████████████████████████| 112kB 8.8MB/s ta 0:00:01
[?25hRequirement already satisfied: tqdm in /opt/conda/envs/python27-paddle120-env/lib/python2.7/site-packages (from paddleslim) (4.36.1)
Installing collected packages: paddleslim
Successfully installed paddleslim-1.0.1
1. 导入依赖
PaddleSlim依赖Paddle1.7版本,请确认已正确安装Paddle,然后按以下方式导入Paddle和PaddleSlim:
import paddle
import paddle.fluid as fluid
import paddleslim as slim
import numpy as np
2. 构建模型
该章节构造一个用于对MNIST数据进行分类的分类模型,选用MobileNetV1
,并将输入大小设置为[1, 28, 28]
,输出类别数为10。
为了方便展示示例,我们在paddleslim.models
下预定义了用于构建分类模型的方法,执行以下代码构建分类模型:
use_gpu = fluid.is_compiled_with_cuda()
exe, train_program, val_program, inputs, outputs = slim.models.image_classification