|
|
||
|---|---|---|
| .. | ||
| 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 | ||
| README.md | ||
| run_complete_workflow.sh | ||
| run_examples_test.sh | ||
| test_examples_simple.sh | ||
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_post05_export,06_inference,07_inference_hybrid,08_dump,09_add_pre_postall- 运行所有步骤
test_examples_simple.sh
简化版测试脚本,用于快速演示和基础测试:
# 使用方法
./test_examples_simple.sh
该脚本会自动:
- 查找examples目录下的前3个ONNX模型
- 显示找到的模型列表
- 对第一个模型运行load测试
- 显示测试结果
文件结构
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
注意事项
- 依赖环境:确保已安装netrans所需的所有依赖包
- 模型格式:不同的模型类型需要相应的解析器支持
- 工作目录:每个测试脚本都会在工作目录中创建输出文件
- 错误处理:脚本会在遇到错误时退出,并显示错误信息
颜色输出
脚本使用颜色输出不同的信息类型:
- 🟡 黄色:提示信息和步骤标题
- 🟢 绿色:成功信息
- 🔴 红色:错误信息
这样可以更容易地在终端输出中识别不同类型的信息。