NeuroPilot 离线工具

NeuroPilot 离线工具(Quantization, Converter etc.)常见问题
**在将模型从Caffe/PyTorch转换为TFLite格式后,因为输入从NCHW更改为NHWC,需要额外添加一个转置节点,有可能避免增加这个额外的操作吗?


【问题描述】

在将模型从Caffe/PyTorch转换为TFLite格式后,因为输入从NCHW更改为NHWC,需要额外添加一个转置节点,有可能避免增加这个额外的操作吗?

 【解答】

为了避免添加这个额外的节点,您可以向Caffe/PyTorch模型添加一个wrapper。

对于Caffe,参见NeuroPilot SDK文档:Developer Tools > Model Development > Converter > Converter Tool Examples > Converting from Caffe > Floating-point (with NHWC Input/Output Tensors)。
对于PyTorch,参见NeuroPilot SDK文档:Developer Tools > Model Development > Converter > Converter Tool Examples > Converting from PyTorch > Floating-point (with NHWC Input/Output Tensors)。

**Per-axis Quantization(Per-channel Quantization)和 Per-tensor Quantization两种量化方式解析
【问题描述】

NeuroPilot Quantization tool支持的Per-axis Quantization (Per-channel Quantization)和 Per-tensor Quantization两种量化有什么区别?两者分别的适宜的使用场景是什么?对于最终量化出的模型精度有差异吗?分别通过什么参数进行配置使用?

【解答】

1)区别:

per-tensor就是整个神经网络层用一组量化参数(scale, zero-point),per-channel就是一层神经网络的每个通道用一组量化参数(scale, zero-point),最终会有多组(通道数)量化参数。

2)使用场景:

这个要依据客户模型的需求来看,是否要求每个 channel 有不同的量化参数需求,一般使用场景下一套量化参数(per-tensor)即可满足量化需求。

3)精度有差异吗:

要视具体情况而定,如果要求每个 channel 都有不同的量化参数,那肯定 per-channel 精度更高,反之,不一定。

4)参数配置:

在使用mtk_converter转模型时,通过use_per_output_channel_quantization参数来控制使用per-tensor Quantization (False)还是per-channel Quantization (True)

【适用NP版本】

NP5, NP6

NP-Online Doc Reference:

1. Developer Tools » Model Development » Quantization » Quantization Tool Introduction » Background » Per-axis Quantization and Per-tensor Quantization

2. Mediatek API Reference » Converter Tool API Documentation» Pyt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远旅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值