首页 PaddleSlim 帖子详情
量化训练或者离线量化后的模型使用fluid加载为什么没有加速? 已解决
收藏
快速回复
PaddleSlim 问答量化 531 1
量化训练或者离线量化后的模型使用fluid加载为什么没有加速? 已解决
收藏
快速回复
PaddleSlim 问答量化 531 1

量化训练或者离线量化后的模型使用fluid加载为什么没有加速?怎样才能加速?

旧鸱c_
已解决
3# 回复于2021-08
这是因为量化后保存的参数是虽然是int8范围,但是类型是float。fluid并不具备加速量化模型的能力。量化模型必须配合使用预测库才能加速。 如果量化模型在ARM上线,则需要使用Paddle-Lite.Paddle-Lite会对量化模型进行模型转化和优化,转化方法见链接。 转化之后可以像非量化模型一样使用Paddle-Lite API进行加载预测。 如果量化模型在GPU上线,则需要使用Paddle-TensorRT 预测接口.和非量化模型的区别在于以下参数设置: config->EnableTensorRtEngine(1 << 20 /* workspace_size*/, batch_size /* max_batch_size*/, 3 /* min_subgraph_size*/, AnalysisConfig::Precision::kInt8 /* precision*/, false /* use_static*/, false /* use_calib_mode*/); 如果量化模型在x86上线,需要使用INT8 MKL-DNN首先对模型进行转化,可以参考脚本 转化之后可使用预测部署API进行加载。比如c++ API
展开
0
收藏
回复
全部评论(1)
时间顺序
旧鸱c_
#3 回复于2021-08

这是因为量化后保存的参数是虽然是int8范围,但是类型是float。fluid并不具备加速量化模型的能力。量化模型必须配合使用预测库才能加速。

如果量化模型在ARM上线,则需要使用Paddle-Lite.Paddle-Lite会对量化模型进行模型转化和优化,转化方法见链接。
转化之后可以像非量化模型一样使用Paddle-Lite API进行加载预测。
如果量化模型在GPU上线,则需要使用Paddle-TensorRT 预测接口.和非量化模型的区别在于以下参数设置:
config->EnableTensorRtEngine(1 << 20 /* workspace_size*/,
batch_size /* max_batch_size*/,
3 /* min_subgraph_size*/,
AnalysisConfig::Precision::kInt8 /* precision*/,
false /* use_static*/,
false /* use_calib_mode*/);

如果量化模型在x86上线,需要使用INT8 MKL-DNN首先对模型进行转化,可以参考脚本
转化之后可使用预测部署API进行加载。比如c++ API

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户