chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# Python工具
|
||||
Pymnn是MNN的Python版本,其中将部分MNN工具封装成了`MNNTools`,MNNTools模块主要有以下工具:
|
||||
- mnn
|
||||
- mnnconvert
|
||||
- mnnquant
|
||||
|
||||
### mnn
|
||||
mnn工具的功能是列出目前MNNTools支持的所有工具,使用如下:
|
||||
```bash
|
||||
mnn
|
||||
mnn toolsets has following command line tools
|
||||
$mnn
|
||||
list out mnn commands
|
||||
$mnnconvert
|
||||
convert other model to mnn model
|
||||
$mnnquant
|
||||
quantize mnn model
|
||||
```
|
||||
### mnnconvert
|
||||
mnnconvert是对[MNNConvert](convert.md)的Python封装,参数使用可以[参考](convert.html#id2),示例如下:
|
||||
```bash
|
||||
mnnconvert -f ONNX --modelFile mobilenetv2-7.onnx --MNNModel mobilenetv2-7.mnn --bizCode mobilenet
|
||||
Start to Convert Other Model Format To MNN Model...
|
||||
[11:34:53] :40: ONNX Model ir version: 6
|
||||
Start to Optimize the MNN Net...
|
||||
107 op name is empty or dup, set to Const107
|
||||
108 op name is empty or dup, set to BinaryOp108
|
||||
109 op name is empty or dup, set to Unsqueeze109
|
||||
111 op name is empty or dup, set to Unsqueeze111
|
||||
inputTensors : [ input, ]
|
||||
outputTensors: [ output, ]
|
||||
Converted Success!
|
||||
```
|
||||
### mnnquant
|
||||
mnnquant是对[quantized.out](quant.html#id4)的Python封装,具体用法可以参考[quantized.out](quant.html#id4),示例如下:
|
||||
```bash
|
||||
cp /path/to/MNN # using MNN/resource/images as input
|
||||
mnnquant shuffle.mnn shuffle_quant.mnn shuffle_quant.json
|
||||
[11:48:17] :48: >>> modelFile: shuffle.mnn
|
||||
[11:48:17] :49: >>> preTreatConfig: shuffle_quant.json
|
||||
[11:48:17] :50: >>> dstFile: shuffle_quant.mnn
|
||||
[11:48:17] :77: Calibrate the feature and quantize model...
|
||||
[11:48:17] :156: Use feature quantization method: KL
|
||||
[11:48:17] :157: Use weight quantization method: MAX_ABS
|
||||
[11:48:17] :177: feature_clamp_value: 127
|
||||
[11:48:17] :178: weight_clamp_value: 127
|
||||
[11:48:17] :111: used image num: 2
|
||||
[11:48:17] :668: fake quant weights done.
|
||||
ComputeFeatureRange: 100.00 %
|
||||
CollectFeatureDistribution: 100.00 %
|
||||
[11:48:36] :82: Quantize model done!
|
||||
```
|
||||
配置文件`shuffle_quant.json`内容如下:
|
||||
```json
|
||||
{
|
||||
"format":"RGB",
|
||||
"mean":[
|
||||
103.94,
|
||||
116.78,
|
||||
123.68
|
||||
],
|
||||
"normal":[
|
||||
0.017,
|
||||
0.017,
|
||||
0.017
|
||||
],
|
||||
"width":224,
|
||||
"height":224,
|
||||
"path":"./resource/images/",
|
||||
"used_image_num":2,
|
||||
"feature_quantize_method":"KL",
|
||||
"weight_quantize_method":"MAX_ABS",
|
||||
"model":"shuffle.mnn"
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user