yolov12 部署瑞芯微 rk3588、RKNN 部署工程難度小、模型推理速度快

yolov12 部署又來了

特別說明:如有侵權告知刪除,謝謝。

完整代碼:包括onnx轉rknn和測試代碼、rknn板端部署C++代碼:

【onnx轉rknn和測試代碼】

【rknn板端部署C++代碼】

1 模型訓練

??yolov12訓練官方開源的已經非常詳細了,參考官方代碼。

2 導出 yolov12 onnx

?? 導出onnx修改以下幾處。
第一處:修改導出onnx的檢測頭
在這里插入圖片描述

        # 導出 onnx 增加y = []for i in range(self.nl):t1 = self.cv2[i](x[i])t2 = self.cv3[i](x[i])y.append(t1)y.append(t2)return y

第二處:增加保存onnx代碼
在這里插入圖片描述

        print("===========  onnx =========== ")import torchdummy_input = torch.randn(1, 3, 640, 640)input_names = ["data"]output_names = ["output1", "output2", "output3", "output4", "output5", "output6"]torch.onnx.export(self.model, dummy_input, "./yolov12n_zq.onnx",verbose=False, input_names=input_names, output_names=output_names, opset_version=11)print("======================== convert onnx Finished! .... ")

修改完以上兩處,運行以下代碼:

from ultralytics import YOLO
model = YOLO(model='yolov12n.pt')  # load a pretrained model (recommended for training)
results = model(task='detect', source='./test.jpg', save=True)  # predict on an image

特別說明: 修改完以上兩處后運行會報錯,但不影響onnx的生成;生成onnx后強烈建議用from onnxsim import simplify 處理一下再轉rknn。

import onnx
from onnxsim import simplifymodel_path = 'yolov12n.onnx'
model_proto = onnx.load(model_path)
model_sim, check = simplify(model_proto)
onnx.save(model_sim, 'yolov12n_smi.onnx')print('simplify finished.')

3 測試onnx效果

pytorch效果
在這里插入圖片描述
onnx效果
在這里插入圖片描述

4 onnx轉rknn

onnx轉rknn后仿真結果
在這里插入圖片描述

5 rk3588板子測試yolov12模型

使用的 rknn_toolkit 版本:rknn_toolkit2-2.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
C++代碼中的庫和工具鏈的版本注意對應適配。

1)編譯

cd examples/rknn_yolov12_demo_dfl_openbash build-linux_RK3588.sh

2)運行

cd install/rknn_yolo_demo_Linux./rknn_yolo_demo 

注意:修改模型、測試圖像、保存圖像的路徑,修改文件為src下的main.cc

int main(int argc, char **argv)
{char model_path[256] = "/home/zhangqian/rknn/examples/rknn_yolov12_demo_dfl_open/model/RK3588/yolov12n_zq.r";char image_path[256] = "/home/zhangqian/rknn/examples/rknn_yolov12_demo_dfl_open/test.jpg";char save_image_path[256] = "/home/zhangqian/rknn/examples/rknn_yolov12_demo_dfl_open/test_result.jpg";detect(model_path, image_path, save_image_path);return 0;
}

3)板端效果和時耗

在這里插入圖片描述

在這里插入圖片描述
這個時耗非常高,查看轉rknn時的日志,很多操作切換到cpu上進行計算。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71065.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71065.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71065.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

windows本地化部署Dify+Deepseek

Windows本地化部署DifyDeepseek 一、下載Docker 前往 Docker 官網 下載 Docker Desktop,按序安裝。 1.1啟用WSL 打開本機的控制面板>程序>啟用或關閉 Windows 功能,勾選: Linux 的 Windows 子系統虛擬機平臺(若無該選擇則勾選 Hyper-V &#…

使用Spring Boot與達夢數據庫(DM)進行多數據源配置及MyBatis Plus集成

使用Spring Boot與達夢數據庫(DM)進行多數據源配置及MyBatis Plus集成 在現代企業級應用開發中,處理多個數據源是一個常見的需求。本文將詳細介紹如何使用Spring Boot結合達夢數據庫(DM),并通過MyBatis Plus來簡化數據庫操作&…

第二十四:5.2【搭建 pinia 環境】axios 異步調用數據

第一步安裝&#xff1a;npm install pinia 第二步&#xff1a;操作src/main.ts 改變里面的值的信息&#xff1a; <div class"count"><h2>當前求和為&#xff1a;{{ sum }}</h2><select v-model.number"n">  // .number 這里是…

使用 DeepSeek 生成流程圖、甘特圖與思維導圖:結合 Typora 和 XMind 的高效工作流

在現代工作與學習中&#xff0c;可視化工具如流程圖、甘特圖和思維導圖能夠極大地提升信息整理與表達的效率。本文將詳細介紹如何使用 DeepSeek 生成 Mermaid 文本&#xff0c;結合 Typora 快速生成流程圖和甘特圖&#xff0c;并通過 Markdown 格式生成思維導圖&#xff0c;最終…

DeepSeek 開源周:第五天 - Fire-Flyer 文件系統(3FS)

&#xff08;下面文字主要由 Grok 3 協助生成&#xff09; 概述 Deepseek 今天開源的 Fire-Flyer 文件系統&#xff08;3FS&#xff09;是一個高性能分布式文件系統&#xff0c;專門為 AI 訓練和推理設計。研究表明&#xff0c;它解決了 AI 工作負載中處理海量數據的高效存儲需…

【筆記】論文閱讀方法(AI大模型)

1 為什么讀論文 構建知識體系&#xff1a;通過Related Works快速了解該方向研究現狀&#xff0c;追蹤經典論文 緊跟前沿技術&#xff1a;了解領域內新技術及效果&#xff0c;快速借鑒到自身項目 培養科研邏輯&#xff1a;熟悉論文體系&#xff0c;了解如何創造新事物&#x…

【數據集】ACM數據集

ACM&#xff08;Association for Computing Machinery&#xff09;數據集是計算機科學領域常用于研究學術論文、作者關系、引文網絡、推薦系統、圖神經網絡&#xff08;GNN&#xff09;等任務的數據集之一。該數據集通常包含學術論文、作者、研究領域以及它們之間的關系&#x…

SQL server配置ODBC數據源(本地和服務器)

本地配置 1. 控制面板中找到系統ODBC數據源&#xff08;打開控制面板直接搜&#xff09; 2. 選擇“系統DSN”&#xff0c;點擊“添加” 3. 選擇“SQL server” 4. 名稱和描述自己填&#xff0c;服務器選擇本機設備名稱 5. 選擇ID和密碼驗證&#xff0c;并填寫本地SQL server登…

使用 Postman 訪問 Keycloak 端點

1. 引言 在本教程中&#xff0c;我們將首先快速回顧 OAuth 2.0、OpenID 和 Keycloak。然后&#xff0c;我們將了解 Keycloak REST API 以及如何在 Postman 中調用它們。 2. OAuth 2.0 OAuth 2.0 是一個授權框架&#xff0c;它允許經過身份驗證的用戶通過令牌向第三方授予訪問…

文生圖開源模型發展史(2014-2025年)

文生圖開源模型的發展歷程是一段充滿技術革新、社區生態繁榮與商業化競爭的多維度演進史。 一、技術萌芽期&#xff08;2014-2020年&#xff09; 核心突破 2014年&#xff1a;GAN&#xff08;生成對抗網絡&#xff09;誕生&#xff0c;首次實現數據驅動式圖像生成&#xff0…

微服務學習(2):實現SpringAMQP對RabbitMQ的消息收發

目錄 SpringAMQP是什么 為什么采用SpringAMQP SpringAMQP應用 準備springBoot工程 實現消息發送 SpringAMQP是什么 Spring AMQP是Spring框架下用于簡化AMQP&#xff08;高級消息隊列協議&#xff09;應用開發的一套工具集&#xff0c;主要針對RabbitMQ等消息中間件的集成…

AI人工智能機器學習之神經網絡

1、概要 本篇學習AI人工智能機器學習之神經網絡&#xff0c;以MLPClassifier和MLPRegressor為例&#xff0c;從代碼層面講述最常用的神經網絡模型MLP。 2、神經網絡 - 簡介 在 Scikit-learn 中&#xff0c;神經網絡是通過 sklearn.neural_network 模塊提供的。最常用的神經網…

WPF高級 | WPF 與數據庫交互:連接、查詢與數據更新

WPF高級 | WPF 與數據庫交互&#xff1a;連接、查詢與數據更新 前言一、數據庫交互基礎概念1.1 數據庫簡介1.2 數據訪問技術 二、WPF 與數據庫連接2.1 連接字符串2.2 建立連接 三、WPF 中的數據查詢3.1 使用ADO.NET進行數據查詢3.2 使用 Entity Framework 進行數據查詢3.3 使用…

【ESP32S3接入訊飛在線語音識別】

【ESP32S3接入訊飛在線語音識別】 1. 前言1.1 步驟概括1.2 硬件介紹1.3 接線2. 操作流程2.1 創建語音識別應用2.2 記錄API秘鑰3. JSON語音接入api3.1 JSON格式3.2 交互流程3.2 ESP32S3 Sense接入代碼1. 核心功能2. 主要模塊3. 工作流程4. 典型應用場景5. 關鍵技術點6. 待完善功…

學生管理前端

文章目錄 首頁student.html查詢功能 首頁 SpringBoot前端html頁面放在static文件夾下&#xff1a;/src/main/resources/static 默認首頁為index.html&#xff0c;我們可以用兩個超鏈接或者兩個button跳轉到對應的頁面。這里只是單純的跳轉頁面&#xff0c;不需要提交表單等其…

(動態規劃 最長遞增的子序列)leetcode 300

這道題我第一眼反應就是暴力&#xff0c;但是暴力的話就是n*n-1*n-2*...n-(n-1) 也就是O(n^n)dfs做絕對超時 貪心也不行&#xff0c;這里是子序列&#xff0c;要考慮在ni的范圍內考慮多種路線取最優&#xff0c;所以用動態規劃 如何用動態規劃呢&#xff1f; 答&#xff1a;…

RabbitMQ系列(六)基本概念之Routing Key

在 RabbitMQ 中&#xff0c;Routing Key&#xff08;路由鍵&#xff09; 是用于將消息從交換機&#xff08;Exchange&#xff09;路由到指定隊列&#xff08;Queue&#xff09;的關鍵參數。其核心作用是通過特定規則匹配綁定關系&#xff0c;確保消息被正確分發。以下是其核心機…

Spark內存并行計算框架

spark核心概念 spark集群架構 spark集群安裝部署 spark-shell的使用 通過IDEA開發spark程序 1. Spark是什么 Apache Spark? is a unified analytics engine for large-scale data processingspark是針對于大規模數據處理的統一分析引擎 spark是在Hadoop基礎上的改進&…

Ubuntu 安裝 Nginx并配置反向代理

Ubuntu版本&#xff1a;Ubuntu 24.04.2 LTS 一、安裝Nginx ?更新系統軟件包? 安裝前需確保系統處于最新狀態&#xff0c;避免依賴沖突 sudo apt update && sudo apt upgrade -y ?安裝Nginx主程序? Ubuntu官方倉庫已包含穩定版Nginx&#xff0c;直接安裝即可 sudo…

Solr中得Core和Collection的作用和關系

Solr中得Core和Collection的作用和關系 一&#xff0c; 總結 在Apache Solr中&#xff0c;Core和Collection 是兩個核心概念&#xff0c;他們分別用于單機模式和分布式模式&#xff08;SolrCloud&#xff09;中&#xff0c;用于管理和組織數據。 二&#xff0c;Core 定義&am…