netrans/test/netrans_cli
gwg_xujiao 8986a5ce74 refactor: rename preprocessing scale parameter to std 2026-07-20 18:19:32 +08:00
..
01_load.sh refactor: rename preprocessing scale parameter to std 2026-07-20 18:19:32 +08:00
02_quantize.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
03_quantize_hybrid.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
04_add_pre_post.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
05_export.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
06_inference.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
07_inference_hybrid.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
08_dump.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
09_add_pre_post.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
10_run_all.sh test: 补交测试目录重组后遗漏的 unit/ integration_test/ regression/ scripts/ 2026-06-22 15:23:51 +08:00
README.md fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
run_complete_workflow.sh test: 补交测试目录重组后遗漏的 unit/ integration_test/ regression/ scripts/ 2026-06-22 15:23:51 +08:00
run_examples_test.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00
test_examples_simple.sh fix: 清除所有硬编码本地路径,改为相对路径或脚本自推导 2026-06-23 14:52:07 +08:00

README.md

Netrans 测试脚本优化说明

本文档说明了对test/netrans_cli目录下测试脚本的优化内容。

优化内容

1. 移除measure功能

  • 删除了08_measure.sh脚本measure功能暂不支持
  • 更新了10_run_all.sh移除了对measure脚本的引用
  • 重新编号了后续步骤

2. 优化排序和编号

重新整理了脚本编号,使其符合逻辑顺序:

  • 01_load.sh - 加载模型
  • 02_quantize.sh - 普通量化
  • 03_quantize_hybrid.sh - 混合量化
  • 04_add_pre_post.sh - 添加前后处理
  • 05_export.sh - 导出模型
  • 06_inference.sh - 普通量化推理
  • 07_inference_hybrid.sh - 混合量化推理
  • 08_dump.sh - 导出模型信息
  • 09_add_pre_post.sh - 第二个添加前后处理步骤

3. 支持目录传参

所有脚本现在都支持通过命令行参数传入工作目录:

# 使用方法
./01_load.sh [工作目录路径]

# 示例
./01_load.sh ../../examples/onnx/yolov5s
./01_load.sh .  # 使用当前目录

如果未提供参数,则默认使用当前目录。

4. 新增自动化测试脚本

run_examples_test.sh

完整功能的自动化测试脚本可以循环处理examples目录下的不同模型

# 使用方法
./run_examples_test.sh [模型类型] [测试步骤]

# 示例
./run_examples_test.sh onnx all          # 测试所有ONNX模型运行完整流程
./run_examples_test.sh all 01_load       # 所有模型类型只运行load步骤
./run_examples_test.sh tensorflow 05_export  # 测试TensorFlow模型只运行export步骤

支持的模型类型:

  • onnx - ONNX模型
  • caffe - Caffe模型
  • tensorflow - TensorFlow模型
  • paddle - PaddlePaddle模型
  • all - 所有模型类型

支持的测试步骤:

  • 01_load, 02_quantize, 03_quantize_hybrid, 04_add_pre_post
  • 05_export, 06_inference, 07_inference_hybrid, 08_dump, 09_add_pre_post
  • all - 运行所有步骤

test_examples_simple.sh

简化版测试脚本,用于快速演示和基础测试:

# 使用方法
./test_examples_simple.sh

该脚本会自动:

  1. 查找examples目录下的前3个ONNX模型
  2. 显示找到的模型列表
  3. 对第一个模型运行load测试
  4. 显示测试结果

文件结构

test/netrans_cli/
├── 01_load.sh              # 加载模型
├── 02_quantize.sh          # 普通量化
├── 03_quantize_hybrid.sh   # 混合量化
├── 04_add_pre_post.sh      # 添加前后处理
├── 05_export.sh            # 导出模型
├── 06_inference.sh         # 普通量化推理
├── 07_inference_hybrid.sh  # 混合量化推理
├── 08_dump.sh              # 导出模型信息
├── 09_add_pre_post.sh      # 添加前后处理
├── 10_run_all.sh           # 运行所有步骤
├── run_complete_workflow.sh # 完整工作流程
├── run_examples_test.sh    # 自动化测试脚本(完整版)
├── test_examples_simple.sh # 简化测试脚本
└── backup/                 # 备份目录

使用示例

基础使用

# 进入测试目录
cd test/netrans_cli

# 对指定目录的模型运行单个步骤
./01_load.sh ../../examples/onnx/yolov5s

# 运行完整工作流程
./run_complete_workflow.sh

# 运行所有步骤
./10_run_all.sh

自动化测试

# 测试所有ONNX模型运行完整流程
./run_examples_test.sh onnx all

# 只测试ONNX模型的加载步骤
./run_examples_test.sh onnx 01_load

# 测试所有模型类型的导出步骤
./run_examples_test.sh all 05_export

# 快速演示测试
./test_examples_simple.sh

查看帮助

./run_examples_test.sh --help

注意事项

  1. 依赖环境确保已安装netrans所需的所有依赖包
  2. 模型格式:不同的模型类型需要相应的解析器支持
  3. 工作目录:每个测试脚本都会在工作目录中创建输出文件
  4. 错误处理:脚本会在遇到错误时退出,并显示错误信息

颜色输出

脚本使用颜色输出不同的信息类型:

  • 🟡 黄色:提示信息和步骤标题
  • 🟢 绿色:成功信息
  • 🔴 红色:错误信息

这样可以更容易地在终端输出中识别不同类型的信息。