You're reading an pre-release version of this documentation.
For the latest stable release version, please have a look at master.

Netrans CLI 参考手册

本手册提供 Netrans 命令行接口的完整规范。

命令总览

netrans load → quantize → export

子命令

用途

load

加载模型并配置预处理参数

quantize

对模型进行量化

quantize_hybrid

混合精度量化

add_pre_post

将前后处理节点嵌入网络

export

导出 NBG 文件

dump

导出各层张量用于调试

inference

执行推理并保存输入输出

check_opset

检查 ONNX 模型 opset 版本


快速参考

命令速查

命令

示例

load

netrans load ./model --mean 0 0 0 --scale 255

quantize

netrans quantize ./model asymu8 --algorithm 1

export

netrans export ./model asymu8 --platform pnna

dump

netrans dump ./model asymu8

inference

netrans inference ./model asymu8 --iterations 1

参数速查

量化类型

  • asymu8: 非对称8位(默认)

  • symi8: 对称8位

  • symi16: 对称16位

  • fp16: 半精度浮点

量化算法

  • 0 / normal: 普通量化

  • 1 / KL: KL散度(默认)

  • 2 / moving_average: 移动平均

  • 3 / auto: 自动选择

平台

  • pnna: VIP8000(单核)

  • pnna2: VIP9400(支持多核)

多核配置(仅 pnna2)

  • 1core / 1: 单核

  • 2core / 2: 双核

  • 4core / 4: 四核


命令详解

netrans load

加载模型并配置预处理参数。

用法:

1netrans load <dir> [--mean <values>] [--scale <values>] [--verbose]

参数:

  • dir (必选): 模型目录路径

  • --mean (可选): 通道均值,如 "0 0 0"

  • --scale (可选): 缩放系数,如 "255"

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1# 三通道模型
2netrans load ./yolov5s --mean "0 0 0" --scale "255"
3
4# 单通道模型
5netrans load ./lenet_gray --mean "127.5" --scale "255"

输出:

  • channel_mean_value.txt: 预处理参数文件

  • <model>.json: 网络结构描述

  • <model>.data: 权重数据


netrans quantize

对模型进行量化。

用法:

1netrans quantize <dir> <qtype> [--algorithm <int>] [--iterations <int>] 
2                 [--entropy] [--mle] [--verbose]

参数:

  • dir (必选): 已加载模型的目录

  • qtype (必选): 量化类型,如 asymu8

  • --algorithm (可选): 量化算法,0/1/2/3,默认 1

  • --iterations (可选): 迭代次数,默认 1

  • --entropy (可选): 计算张量熵(分析用)

  • --mle (可选): 最小化层间误差(分析用)

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1# 基础量化
2netrans quantize ./model asymu8
3
4# 高精度量化
5netrans quantize ./model asymu8 --algorithm 1 --iterations 5
6
7# 量化分析
8netrans quantize ./model asymu8 --entropy --mle

输出:

  • <model>_<qtype>.quantize: 量化参数文件


netrans quantize_hybrid

混合精度量化。

用法:

1netrans quantize_hybrid <dir> <qtype> --cust-qnt-layers <file> 
2                        [--hybrid-qtype <type>] [--algorithm <int>] 
3                        [--iterations <int>] [--verbose]

参数:

  • dir (必选): 已加载模型的目录

  • qtype (必选): 基础量化类型

  • --cust-qnt-layers (必选): 层配置文件路径

  • --hybrid-qtype (可选): 混合层量化类型,默认 dfpi16

  • --algorithm (可选): 量化算法,默认 1

  • --iterations (可选): 迭代次数,默认 1

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1netrans quantize_hybrid ./model asymu8 --cust-qnt-layers layers.txt

netrans add_pre_post

将前后处理节点嵌入网络。

用法:

1netrans add_pre_post <dir> <qtype> [--preprocess] [--postprocess] 
2                     [--use-hybrid] [--verbose]

参数:

  • dir (必选): 已量化模型目录

  • qtype (必选): 量化类型

  • --preprocess (可选): 嵌入预处理节点,默认启用

  • --postprocess (可选): 嵌入后处理节点,默认启用

  • --use-hybrid (可选): 使用混合量化文件

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1netrans add_pre_post ./model asymu8 --preprocess --postprocess

netrans export

导出 NBG 文件。

用法:

1netrans export <dir> <qtype> --platform <plat> [--use-hybrid] 
2               [--preprocess <bool>] [--postprocess <bool>] 
3               [--core-num <n>] [--verbose]

参数:

  • dir (必选): 已量化模型目录

  • qtype (必选): 量化类型

  • --platform (必选): 平台,pnnapnna2

  • --use-hybrid (可选): 使用混合量化文件

  • --preprocess (可选): 嵌入预处理,默认 true

  • --postprocess (可选): 嵌入后处理,默认 true

  • --core-num (可选): 多核配置,1core/2core/4core(仅 pnna2)

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1# 基础导出
2netrans export ./model asymu8 --platform pnna
3
4# 多核导出(仅 pnna2)
5netrans export ./model asymu8 --platform pnna2 --core-num 4core

输出:

  • wksp/<model>_<qtype>_nbg_unify/network_binary.nb: NBG 文件

  • wksp/<model>_<qtype>_nbg_unify/nbg_meta.json: 元数据


netrans dump

导出各层张量用于调试。

用法:

1netrans dump <dir> <qtype> [--use-hybrid] [--verbose]

参数:

  • dir (必选): 已量化模型目录

  • qtype (必选): 量化类型

  • --use-hybrid (可选): 使用混合量化文件

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1netrans dump ./model asymu8

输出: dump/<model>_<qtype>/ 目录


netrans inference

执行推理并保存输入输出。

用法:

1netrans inference <dir> <qtype> [--iterations <int>] [--use-hybrid] [--verbose]

参数:

  • dir (必选): 已量化模型目录

  • qtype (必选): 量化类型

  • --iterations (可选): 迭代次数,默认 1

  • --use-hybrid (可选): 使用混合量化文件

  • --verbose, -v (可选): 输出 DEBUG 日志

示例:

1netrans inference ./model asymu8 --iterations 1

输出: wksp/<model>_<qtype>/golden/ 目录


netrans check_opset

检查 ONNX 模型 opset 版本。

用法:

1netrans check_opset <path> [--verbose]

参数:

  • path (必选): ONNX 文件路径或目录

  • --verbose, -v (可选): 显示详细信息

示例:

1netrans check_opset ./model.onnx
2netrans check_opset ./model_dir/

支持的 opset 版本: 7 - 17

退出码:

  • 0: 符合要求

  • 1: 不符合或检查失败


相关文档

  • cookbook.md - 实用指南、速查表、场景示例、故障排查

  • netrans_py.md - Python API 参考

    • 版本发布记录