装修网站php源码网页设计与网站建设有区别吗

当前位置: 首页 > news >正文

装修网站php源码,网页设计与网站建设有区别吗,太原app制作,wordpress首页图片不显示使用边缘设备进行算法落地时#xff0c;通常要考虑模型推理速度#xff0c;NVIDA系列平台可以使用TensorRT和CUDA加速#xff0c;瑞芯微RK3588的板子上都是Arm的手机GPU#xff0c;虽然没有类似CUDA的加速计算方式#xff0c;但是提供了NPU进行加速推理#xff0c;本文说…使用边缘设备进行算法落地时通常要考虑模型推理速度NVIDA系列平台可以使用TensorRT和CUDA加速瑞芯微RK3588的板子上都是Arm的手机GPU虽然没有类似CUDA的加速计算方式但是提供了NPU进行加速推理本文说明了如何使用瑞芯微RK3588的NPU进行模型转换和推理 一、简介 RK3588内置NPU模块, 处理性能最高可达6TOPS。使用该NPU需要下载RKNN SDKRKNN SDK为带有 NPU 的RK3588S/RK3588 芯片平台提供编程接口能够帮助用户部署使用 RKNN-Toolkit2导出RKNN模型加速AI应用的落地。
RKNN-Toolkit2是为用户提供在 PC、 Rockchip NPU 平台上进行模型转换、推理和性能评估的开发套件,用户通过该工具提供的Python接口可以便捷地完成以下功能: 模型转换支持 Caffe、TensorFlow、TensorFlow Lite、ONNX、DarkNet、PyTorch 等模型转为 RKNN 模型并支持 RKNN 模型导入导出RKNN 模型能够在Rockchip NPU 平台上加载使用。 量化功能支持将浮点模型量化为定点模型目前支持的量化方法为非对称量化并支持 混合量化功能 。 模型推理能够在 PC上模拟Rockchip NPU运行RKNN模型并获取推理结果或将RKNN模型分发到指定的NPU设备上进行推理并获取推理结果。 性能和内存评估将 RKNN 模型分发到指定NPU设备上运行以评估模型在实际设备上运行时的性能和内存占用情况。 量化精度分析该功能将给出模型量化前后每一层推理结果与浮点模型推理结果的余弦距离以便于分析量化误差是如何出现的为提高量化模型的精度提供思路。 二、准备工作 2.1 适用芯片 RKNN-Toolkit2当前版本所支持芯片的型号如下 RV1103RV1103BRV1106RV1106BRK2118RK3562RK3566系列RK3568系列RK3576系列RK3588系列 2.2 系统依赖说明 使用RKNN-Toolkit2时需要满足以下运行环境要求
ARM64版本运行环境要求ARM64版本仅支持PyTorch和ONNX框架其他框架暂时不支持 RKNN-Toolkit2和各深度学习框架的版本对应关系如下
三、创建环境 因为尝试将yolo11的onnx模型转成RKNN-Toolkit2的rknn模型根据版本对应关系ONNX版本越高支持的算子种类越多所以选择onnx1.17.0对应的RKNN-Tollkit22.3.0版本。 3.1 下载RKNN相关库 建议新建一个目录用来存放RKNN仓库例如新建一个名称为rknn的文件夹并将RKNN-Toolkit2和RKNN Model Zoo仓库存放至该目录下参考命令如下

新建 Projects 文件夹

mkdir rknn# 进入该目录 cd rknn# 下载 RKNN-Toolkit2 仓库 git clone https://github.com/airockchip/rknn-toolkit2.git –depth 1# 下载 RKNN Model Zoo 仓库 git clone https://github.com/airockchip/rknn_model_zoo.git –depth 1

注意

1.参数 –depth 1 表示只克隆最近一次 commit

2.如果遇到 git clone 失败的情况也可以直接在 github 中下载压缩包到本地然后解压至该目录整体目录结构如下

Projects├── rknn-toolkit2│ ├── doc│ ├── rknn-toolkit2│ │ ├── packages│ │ ├── docker│ │ └── …│ ├── rknpu2│ │ ├── runtime│ │ └── …│ └── …└── rknn_model_zoo├── datasets├── examples└── …3.2 安装RKNN-Toolkit2环境 使用conda创建虚拟python环境通过pip源安装

创建名称为rknn的python环境

conda create -n rknn python3.10

激活环境

conda activate rknnpip install rknn-toolkit2 -i https://pypi.org/simple

如果已安装 RKNN-Toolkit2可通过以下命令升级 RKNN-Toolkit2

pip install rknn-toolkit2 -i https://pypi.org/simple –upgrade# 验证是否安装成功若没有报错则代表 RKNN-Toolkit2 环境安装成功

进入 Python 交互模式

python

导入 RKNN 类

from rknn.api import RKNN 注WSL中使用RKNN-ToolKit2注意事项 推荐安装 WSL2Ubuntu版本号为22.04 已验证可行(其余版本未验证理论可行)在WSL使用RKNN-ToolKit2中若出现 “ImportError: libGL.so.1: cannot open shared object file: No such file or directory”请执行以下代码解决

  1. 安装对应库 sudo apt update sudo apt install libgl1-mesa-glx2. 设置环境变量 echo export LD_LIBRARY_PATH/usr/lib/x86_64-linux-gnu/mesa ~/.bashrc source ~/.bashrc四、模型转换 4.1. 准备模型 下载链接: ./yolo11n.onnx./yolo11s.onnx./yolo11m.onnx 或者从bash脚本下载: cd cd rknn/rknn_model_zoo/examples/yolo11/model ./download_model.sh4.2 转换到RKNN cd rknn/rknn_model_zoo/examples/yolo11/python

    python convert.py onnx_model TARGET_PLATFORM dtype(optional) output_rknn_path(optional)

    such as:

    python convert.py ../model/yolo11n.onnx rk3588

    output model will be saved as ../model/yolo11.rknn参数说明:

    onnx_model: 指定ONNX模型路径。TARGET_PLATFORM: 指定NPU平台名称。如“rk3588”。dtype(optional): 指定为i8 u8或fp。i8 / u8表示进行量化fp表示不进行量化。默认为i8 / u8。output_rknn_path(optional): 指定RKNN模型的保存路径默认保存在与ONNX模型相同的目录中名称为yolo11.rknn。 五、模型推理 5.1 使用ONNX模型推理 cd rknn/rknn_model_zoo/examples/yolo11/python python yolo11.py –model_path ../model/yolo11n.onnx –img_show

    输出

    Model-../model/yolo11n.onnx is onnx model, starting val infer 1/1IMG: bus.jpg person (108 236 223 535) 0.896 person (212 240 284 509) 0.844 person (477 230 559 521) 0.838 person (79 358 116 516) 0.485 bus (90 135 552 435) 0.939# 使用 PyTorch or ONNX 推理

    python yolo11.py –model_path pt_model/onnx_model –img_show

    使用 RKNN model 推理

    python yolo11.py –model_path rknn_model –target TARGET_PLATFORM –img_show参数说明: TARGET_PLATFORM: 指定NPU平台名称。如“rk3588”。 pt_model / onnx_model / rknn_model: 指定模型路径。

    5.2 使用RKNN模型推理yolo5、模拟仿真 RKNN-Toolkit2自带了一个模拟器可以用来仿真模型在NPU上运行时的行为。就相当于Android Studio自带模拟器一样。那么真机就相当于开发板。RK3588目前只支持模拟仿真还不支持连板调试在真机上会报错显示rknn server版本过低等后面官方更新好就可以连板推理了。 在路径rknn/rknn-toolkit2/rknn-toolkit2/examples/onnx/yolov5下有yolov5的完整案例创建RKNN对象、模型配置、加载onnx模型、构建RKNN模型、导出RKNN模型、加载图片并推理、得到推理结果、释放 RKNN 对象。 cd rknn/rknn-toolkit2/rknn-toolkit2/examples/onnx/yolov5 python test.py# 模型转换推理结果在当前路径下: yolov5s_relu.rknn、result.jpg ls README.md check0_base_optimize.onnx dataset.txt onnx_yolov5_0.npy onnx_yolov5_2.npy result_truth.jpg yolov5s_relu.onnx bus.jpg check2_correct_ops.onnx model_config.yml onnx_yolov5_1.npy result.jpg test.py yolov5s_relu.rknn5.3 使用RKNN模型推理yolo11、模拟仿真 参考yolo5的RKNN模型推理实现rknn/rknn-toolkit2/rknn-toolkit2/examples/onnx/yolov5/test.py将该python文件复制到rknn/rknn_model_zoo/examples/yolo11/python/test.py并结合rknn/rknn_model_zoo/examples/yolo11/python/yolo11.py文件经过修改代码中超参数、模型加载、后处理等部分的代码实现RKNN-Toolkit2模拟仿真环境下的yolo11的RKNN模型推理。 cd rknn/rknn_model_zoo/examples/yolo11/python python test.py需要注意的是如果不做前后处理只需用修改模型加载的参数即可RKNN模型可以推理成功只不过会提示后处理部分报错等参考代码 #…超参数 ONNX_MODEL ../model/yolo11n.onnx RKNN_MODEL ../model/yolo11n.rknn IMG_PATH ../model/bus.jpg DATASET ../model/dataset.txt #… IMG_SIZE_YOLO11 (640, 640) # (width, height), such as (1280, 736) #…#… #前处理 import yolo11 co_helper yolo11.COCO_test_helper(enable_letter_boxTrue) pad_color (0,0,0) img co_helper.letter_box(im img.copy(), new_shape(IMG_SIZE_YOLO11[1], IMG_SIZE_YOLO11[0]), pad_color(0,0,0))

    img cv2.cvtColor(img, cv2.COLOR_BGR2RGB)#…

    #后处理 boxes, classes, scores yolo11.post_process(outputs) img_p img.copy() if boxes is not None:yolo11.draw(img_p, co_helper.get_real_box(boxes), scores, classes) cv2.imshow(full post process result, img_p) cv2.waitKeyEx(0)