补充yolov5s_relu模型测试数据
所有示例通过 Python 接口实现板卡推理,批量测试每个模型的4种数据类型板卡推理时间,结果保存到.csv中。提供源码地址、权重文件、nbg文件、测试图片。
流程图:
graph TD subgraph 模型批量处理流程 A[开始] --> B[板卡建立连接] B --> C[遍历模型文件夹获取所有模型文件] C --> D{遍历每个量化模型} subgraph D[单个模型处理流程] D1[删除旧模型] --> D2[加载新量化模型] D2 --> D3[执行多次推理] D3 --> D4[统计推理时间计算最佳时间] end D --> E[将处理结果保存] E --> F{是否还有下一个模型?} F -- 是 --> D F -- 否 --> G[结束: 批量处理完成] end
├── resource/ # 算法模型 ├── src/ # 源码 │ ├── utils/ # 公共组件 │ └── auto_test.py # 批量测试脚本 ├── README.md # 项目说明文档 ├── requirements.txt # 依赖包
硬件要求
编译和使用
192.168.23.100
192.168.23.132
./server
通信基础信息
ws://192.168.23.100:8000/websocket
创建 python3.8 环境
wget "https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease//Miniforge3-$(uname)-$(uname -m).sh" mkdir -p ~/app INSTALL_PATH="${HOME}/app/miniforge3" bash Miniforge3-Linux-x86_64.sh -b -p ${INSTALL_PATH} echo "source "${INSTALL_PATH}/etc/profile.d/conda.sh"" >> ${HOME}/.bashrc echo "source "${INSTALL_PATH}/etc/profile.d/mamba.sh"" >> ${HOME}/.bashrc source ${HOME}/.bashrc mamba create -n netrans python=3.8 -y mamba activate netrans
pip install -r requirements.txt
git clone https://gitlink.org.cn/nudt_dsp/models.git
python auto_test.py --models_dir models_test --output_csv results.csv
参数: models_dir(str): 模型根目录 output_csv(str): 输出CSV文件路径
clear_csv_file(csv_file) 清空CSV文件,只保留表头。 参数: csv_file(str): CSV文件路径
append_to_csv(result, csv_file) 追加单条结果到CSV文件。 参数: result(dict): 包含测试结果的数据字典 csv_file(str): CSV文件路径 返回:写入是否成功
process_nb_file(nb_path, model_name, quant_type, input_data) 处理单个.nb文件并返回测试结果。 参数: nb_path(str): .nb模型文件路径 model_name(str): 模型名称 quant_type(str): 量化类型 input_data(numpy.ndarray): 输入数据 返回:测试结果,错误时返回None
generate_data_from_yml(yml_path) 从YAML配置文件中读取输入数据尺寸并生成随机数据。 参数: yml_path(str): YAML配置文件路径 返回: numpy.ndarray或 None: 生成的随机数据
process_and_save_model(model_path, model_name, csv_file) 处理单个模型的所有量化文件,并实时保存到CSV。 参数: model_path(str): 模型目录路径 model_name(str): 模型名称 csv_file(str): 输出CSV文件路径
process_models(models_dir, output_csv) 主函数,处理所有模型。 参数: models_dir(str): 模型根目录,默认”models” output_csv(str): 输出CSV文件路径,默认”results.csv”
作者 {{liangliangou}}
tested models
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
模型批量时间测试示例
概述
所有示例通过 Python 接口实现板卡推理,批量测试每个模型的4种数据类型板卡推理时间,结果保存到.csv中。提供源码地址、权重文件、nbg文件、测试图片。
流程图:
graph TD subgraph 模型批量处理流程 A[开始] --> B[板卡建立连接] B --> C[遍历模型文件夹获取所有模型文件] C --> D{遍历每个量化模型} subgraph D[单个模型处理流程] D1[删除旧模型] --> D2[加载新量化模型] D2 --> D3[执行多次推理] D3 --> D4[统计推理时间
计算最佳时间] end D --> E[将处理结果保存] E --> F{是否还有
下一个模型?} F -- 是 --> D F -- 否 --> G[结束: 批量处理完成] end
项目结构
快速开始
环境要求及配置
硬件要求
编译和使用
192.168.23.100,在电脑上添加192.168.23.132这个ip(与板子ip保持在同一网段)。./server运行即可。通信基础信息
ws://192.168.23.100:8000/websocket,与板卡保持一致创建 python3.8 环境
安装依赖
下载工程
评估指标
执行脚本
参数: models_dir(str): 模型根目录 output_csv(str): 输出CSV文件路径
函数说明
clear_csv_file(csv_file) 清空CSV文件,只保留表头。 参数: csv_file(str): CSV文件路径
append_to_csv(result, csv_file) 追加单条结果到CSV文件。 参数: result(dict): 包含测试结果的数据字典 csv_file(str): CSV文件路径 返回:写入是否成功
process_nb_file(nb_path, model_name, quant_type, input_data) 处理单个.nb文件并返回测试结果。 参数: nb_path(str): .nb模型文件路径 model_name(str): 模型名称 quant_type(str): 量化类型 input_data(numpy.ndarray): 输入数据 返回:测试结果,错误时返回None
generate_data_from_yml(yml_path) 从YAML配置文件中读取输入数据尺寸并生成随机数据。 参数: yml_path(str): YAML配置文件路径 返回: numpy.ndarray或 None: 生成的随机数据
process_and_save_model(model_path, model_name, csv_file) 处理单个模型的所有量化文件,并实时保存到CSV。 参数: model_path(str): 模型目录路径 model_name(str): 模型名称 csv_file(str): 输出CSV文件路径
process_models(models_dir, output_csv) 主函数,处理所有模型。 参数: models_dir(str): 模型根目录,默认”models” output_csv(str): 输出CSV文件路径,默认”results.csv”