更新文档
本项目展示yolov5s和yolov8s的通过netrans量化后的性能评估实现方案:
├── src/ # 测试验证代码 │ ├── val_pnna.py # yolov5s相关板卡的推理代码 │ ├── validator.py # yolov8s相关板卡的推理代码 │ ├── client.py # jsonrpc_server相关代码 ├── docs/ │ ├── yolov5s_evaluation.md # yolov5s性能批量评估示例 │ ├── yolov8s_evaluation.md # yolov8s性能批量评估示例 ├── resource/ # 测试验证代码 │ ├── yolov5s # yolov5s权重文件和量化后文件 │ ├── yolov8s # yolov8s权重文件和量化后文件 ├── README.md # 项目说明文档
硬件要求
创建 python3.8 环境
# 下载虚拟环境管理工具 mamba 的安装脚本 wget "https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease//Miniforge3-$(uname)-$(uname -m).sh" # 创建 mamba 的安装目录 mkdir -p ~/app # 安装 mamba 到 ~/app/ bash Miniforge3-Linux-x86_64.sh -b -p ${HOME}/app/miniforge3 # 添加 mamba 的初始化脚本到环境配置文件 echo "source " ${HOME}/app/miniforge3/etc/profile.d/mamba.sh"" >> ${HOME}/.bashrc # 重新加载 ~/.bashrc 文件,使 mamba 初始化生效 source ${HOME}/.bashrc # 创建一个名为 netrans 的虚拟环境,并安装 Python 3.8 mamba create -n netrans python=3.8 -y # 激活 netrans 虚拟环境 mamba activate netrans
# eval_singel.py import numpy as np import cv2 from client import * # 初始化pnna method_model = "detection" pnna_device = Client("ws://192.168.23.100:8000/websocket") # 新增模型 ret_add = pnna_device.add_model('./resource/yolov5s/wksp/dynamic_fixed_point-16/network_binary.nb', method_model) # 数据加载 img = cv2.imread('./resource/yolov5s/0.jpg') img_data = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # pnna 推理,返回推理结果和推理时间 infer_data, infer_time = pnna_device.infer(method_model, img_data) # 结果转化为tensor preds = torch.frombuffer(infer_data[0], dtype=torch.float32).reshape(1, 25200, 85)
通过 client 接口与板卡建立通信,将yolov5源码中的模型推理替换为板卡的推理,详细的流程请参考链接文本
通过 client 接口与板卡建立通信,将yolov8源码中的模型推理替换为板卡的推理,详细的流程请参考链接文本
作者 {{liangliangou}}
本项目展示yolov5s和yolov8s的通过netrans量化后的性能评估实现方案
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
模型性能批量评估示例
概述
本项目展示yolov5s和yolov8s的通过netrans量化后的性能评估实现方案:
项目结构
环境要求及配置
硬件要求
创建 python3.8 环境
板卡单张图片推理示例
yolov5s性能评估
通过 client 接口与板卡建立通信,将yolov5源码中的模型推理替换为板卡的推理,详细的流程请参考链接文本
yolov8s性能评估
通过 client 接口与板卡建立通信,将yolov8源码中的模型推理替换为板卡的推理,详细的流程请参考链接文本