Mac YOLO V9推理測試(基于ultralytics)

環境:

Mac M1 (MacOS?Sonoma 14.3.1)

Python 3.11+PyTorch?2.1.2

一、準備工作

使用YOLO一般都會接觸ultralytics這個框架,今天來試試用該框架進行YOLO V9模型的推理。

YOLOv9目前提供了四種模型下載:yolov9-c.pt、yolov9-e.pt、gelan-c.pt、gelan-e.pt

wget -P /Users/zhujiahui/Local/model/yolov9 -q https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-c.pt
wget -P /Users/zhujiahui/Local/model/yolov9 -q https://github.com/WongKinYiu/yolov9/releases/download/v0.1/yolov9-e.pt
wget -P /Users/zhujiahui/Local/model/yolov9 -q https://github.com/WongKinYiu/yolov9/releases/download/v0.1/gelan-c.pt
wget -P /Users/zhujiahui/Local/model/yolov9 -q https://github.com/WongKinYiu/yolov9/releases/download/v0.1/gelan-e.pt

將下載好的模型放到指定的位置(實際發現這一步不用做,白費了)。

下載示例圖片(也可手動下載放置),放到指定位置下:

wget -P /Users/zhujiahui/Local/dataset -q https://media.roboflow.com/notebooks/examples/dog.jpeg

安裝Python依賴

pip install opencv-python
pip install ultralytics

二、推理

編寫以下代碼:

from ultralytics import YOLOdef yolov9_inference():yolo_model = YOLO("/Users/zhujiahui/Local/model/yolov9/yolov9-e.pt")yolo_model.info()if __name__ == '__main__':yolov9_inference()

直接運行,發現報錯:

TypeError: ERROR ?? /Users/zhujiahui/Local/model/yolov9/yolov9-e.pt appears to be an Ultralytics YOLOv5 model originally trained with https://github.com/ultralytics/yolov5.
This model is NOT forwards compatible with YOLOv8 at https://github.com/ultralytics/ultralytics.
Recommend fixes are to train a new model using the latest 'ultralytics' package or to run a command with an official YOLOv8 model, i.e. 'yolo predict model=yolov8n.pt'

意思是說從https://github.com/WongKinYiu/yolov9下載的模型yolov9-e.pt與本訓練推理框架(ultralytics)不match,必須使用經過ultralytics訓練的模型。

于是改動如下,選用ultralytics提供的YOLO V9模型:

from ultralytics import YOLOdef yolov9_inference():yolo_model = YOLO("yolov9e.pt")yolo_model.info()if __name__ == '__main__':yolov9_inference()

首次運行會下載模型到當前代碼所在的文件夾下

對示例圖片進行檢測:

from ultralytics import YOLOdef yolov9_inference():yolo_model = YOLO("yolov9e.pt")yolo_model.info()results = yolo_model.predict(source='/Users/zhujiahui/Local/dataset/dog.jpeg', save=True, save_txt=True)print(results)if __name__ == '__main__':yolov9_inference()

結果如下:

具體檢測后的結果圖片在runs/detect/predict/dog.jpeg下,效果:

原圖檢測結果

輸入的圖片也可以通過OpenCV讀入:

def yolov9_inference2():yolo_model = YOLO("yolov9e.pt")yolo_model.info()input_image = cv2.imread("/Users/zhujiahui/Local/dataset/dog.jpeg")results = yolo_model.predict(source=input_image, save=True, save_txt=True)print(results)

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

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

相關文章

lint 代碼規范,手動修復,以及vscode的第三方插件eslint自動修復

ESlint代碼規范 不是語法規范,是一種書寫風格,加多少空格,縮進多少,加不加分號,類似于書信的寫作格式 ESLint:是一個代碼檢查工具,用來檢查你的代碼是否符合指定的規則(你和你的團隊可以自行約定一套規則)…

【管理篇】如何橫向溝通?

目錄標題 什么是橫向溝通?常見溝通問題 如何處理橫向溝通中的問題? 什么是橫向溝通? 所謂橫向溝通,就是和沒有直接匯報關系的合作方之間的溝通,指的是與平級間進行的與完成工作有關的交流;橫向溝通核心的挑…

mqtt定時腳本

需求描述 給mqtt的topic發送信息 對應的topic接收請求后,執行發送短信指令 信息內容 SMS,10086,102 lua的mqtt里面,截取判斷即可 –>可以實現 定時任務, 每月開機一次 發短信? 或者使用開機通知? 定時消費…

Npm Install Docusaurus Demo【npm 安裝 docusaurus 實踐 】

文章目錄 1. 簡介2. 前提2.1 安裝 git2.2 安裝 node 3. 安裝4. 項目結構5. 訪問5.1 localhost 訪問5.2 ip 訪問 1. 簡介 Docusaurus 是一個facebook的開源項目,旨在幫助開發者構建易于維護和部署的文檔網站。它提供了一個簡單的方法來創建專業的文檔網站&#xff0…

共享旅游卡免費旅游真實反饋,有圖有真相?

新伙伴體驗,云南昆大麗6天5晚品質雙人游,真實反饋!珠海伙伴蔡總,加入千益暢行共享旅游卡團隊,自己親自體驗“云南昆大麗6天5晚品質雙人游”真實反饋,分享全程內容截圖,無半點虛假! …

2024-05-08 postgres-調試及分析-記錄

摘要: 2024-05-08 postgres-調試及分析-記錄 DDL: 創建庫表及插入數據: create database d1;\c d1;create table t1( a int, b int ); create table t2( a int, b int );insert into t1(a,b) values(3,4); insert into t1(a,b) values(5,6);insert into t2(a,b) va…

MongoDB聚合運算符:$trim

MongoDB聚合運算符&#xff1a;$trim 文章目錄 MongoDB聚合運算符&#xff1a;$trim語法使用空白字符 舉例 $trim用來刪除字符串開頭和結尾的空白字符&#xff08;包括空值&#xff09;或指定字符。 語法 { $trim: { input: <string>, chars: <string> } }input&…

react經驗15:拖拽排序組件dnd-kit的使用經驗

應用場景 列表中的成員可鼠標拖拽改變順序 實施步驟 前置引入 import type { DragEndEvent } from dnd-kit/core import { DndContext } from dnd-kit/core import {arrayMove,/*垂直列表使用verticalListSortingStrategy,橫向列表使用horizontalListSortingStrategy*/vert…

springboot引入security,測試接口報Unauthorized

1、報錯截圖 2、當前項目pom文件引入security <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-security</artifactId><version>2.2.2.RELEASE</version> </dependency> 3、解決…

數據結構之圖——探索圖論的奧秘

前言 在這篇文章中&#xff0c;我們一起來看看我們生活中都會用到&#xff0c;但卻不那么熟悉的數據結構——圖&#xff08;英語&#xff1a;graph&#xff09;。我們看下百科定義&#xff1a; 在計算機科學中&#xff0c;圖&#xff08;英語&#xff1a;graph&#xff09;是一…

計算機畢業設計 | vue+springboot汽車銷售管理系統(附源碼)

1&#xff0c;項目介紹 本項目基于spring boot以及Vue開發&#xff0c;前端實現基于PanJiaChen所提供的開源后臺項目vue-element-admin改造。 針對汽車銷售提供客戶信息、車輛信息、訂單信息、銷售人員管理、財務報表等功能&#xff0c;提供經理和銷售兩種角色進行管理。 2&…

某MBTI性格測試系統后臺Getshell

在淘寶購買了性格測試系統源代碼進行環境部署,后進行滲透測試 淘寶源碼鏈接:https://item.taobao.com/item.htm?ftt&id790798788255 (自己學習(代碼審計、算法、環境搭建)知識技能提升) 環境準備 集成環境選的是小皮 phpstudy 創建網站,將源代碼放入網站根目錄配置好數據…

Doris【部署 01】Linux部署MPP數據庫Doris穩定版(下載+安裝+連接+測試)

本次安裝測試的為穩定版2.0.8官方文檔 https://doris.apache.org/zh-CN/docs/2.0/get-starting/quick-start 這個簡短的指南將告訴你如何下載 Doris 最新穩定版本&#xff0c;在單節點上安裝并運行它&#xff0c;包括創建數據庫、數據表、導入數據及查詢等。 Linux部署穩定版Do…

ElasticSearch的python api以及dev tool方式的基本操作

一、環境要求 根據es服務器版本&#xff0c;下載es的python api包&#xff0c;我們這里的環境為&#xff1a; python3.8, 下載的elastic search版本為7.6.0&#xff0c;安裝方式&#xff1a; pip install elasticsearch7.6.0二、es操作及python代碼 1、獲取es實例&#xff0…

LeetCode 每日一題 2024/5/6-2024/5/12

記錄了初步解題思路 以及本地實現代碼&#xff1b;并不一定為最優 也希望大家能一起探討 一起進步 目錄 5/6 741. 摘櫻桃5/7 1463. 摘櫻桃 II5/8 2079. 給植物澆水5/9 2105. 給植物澆水 II5/10 2960. 統計已測試設備5/11 2391. 收集垃圾的最少總時間5/12 5/6 741. 摘櫻桃 從起點…

當下是風口的熱門兼職副業,月入3萬問題不大,附保姆教程!

近年來&#xff0c;短視頻行業呈現出迅猛的發展勢頭&#xff0c;已經成為當下最受歡迎的一種形式。甚至連曾經的電商巨頭京東也開始積極布局這一領域&#xff0c;投入巨資20億元進行深入耕耘。 周周近財&#xff1a;讓網絡小白少花冤枉錢&#xff0c;賺取第一桶金 不知道您是…

第 8 章 機器人底盤Arduino端入口(自學二刷筆記)

重要參考&#xff1a; 課程鏈接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 講義鏈接:Introduction Autolabor-ROS機器人入門課程《ROS理論與實踐》零基礎教程 8.4.2 底盤實現_01Arduino端入口 ros_arduino_bridge/ros_arduino_firmware/src/libraries/ROSArduinoBridge…

Android APP讀寫外置SD卡無權限 java.io.IOException: Permission denied

在物聯網應用里&#xff0c;app需要對掛載SD卡讀寫文件&#xff0c;從 Android 4.4&#xff08;KitKat&#xff09;版本開始&#xff0c;Google 引入了一項名為 "Storage Access Framework" 的新功能&#xff0c;該功能限制了應用對外部存儲的直接讀寫權限,要不然就是…

引入Minio

前置條件 官網&#xff1a;https://www.minio.org.cn/download.shtml#/kubernetes 命令 # 查看系統上的網絡連接和監聽端口信息 netstat -tpnl # 檢查系統的指定端口占用情況 sudo netstat -tuln | grep 9000systemctl status firewalld # 臨時關閉 systemctl stop firewall…

生信人寫程序1. Perl語言模板及配置

生物信息領域常用語言 個人認為&#xff1a;是否能熟悉使用Shell(項目流程搭建)R(數據統計與可視化)Perl/Python/Java…(膠水語言&#xff0c;數據格式轉換&#xff0c;軟件間銜接)三門語言是一位合格生物信息工程師的標準。 生物信息常用語言非常廣泛&#xff0c;我常用的有…