使用YOLOv8-gpu訓練自己的數據集并預測

????????本篇將教學使用示例代碼訓練自己的數據集(train)以及預測(predict)。

?

目錄

一、代碼獲取

二、訓練

1、添加自己的訓練集

2、創建訓練集設置文件?

?3、 修改訓練代碼中數據集設置文件

4、開始訓練

三、預測

1、 修改圖片路徑

2、 開始預測

?總結


一、代碼獲取

????????在摳頭助手安裝YOLO系列庫時都會自動下載示例代碼,摳頭助手安裝YOLO系列的教程參考博客YOLOv5、v8、v11小白安裝教程(GPU版和CPU版)_yolov11 cpu-CSDN博客,如果不需要裝庫,只需要下載代碼可以直接前往訓練代碼進行下載(資源免費,點擊下載即可)

打開項目后文件結構如下:

  • 橙色是預測示例圖片
  • 藍色是訓練集設置文件
  • 紅色是訓練和預測代碼
  • 黃色是yolo模型文件

📦 項目根目錄
├─ 📁 C包
├─ 📁 github
├─ 📁 .idea
├─ 📁 docker
├─ 📁 docs
├─ 📁 examples
├─ 📁 imgs
├─ 📁 my_training_results
├─ 📁 runs
├─ 📁 tests
├─ 📁 ultralytics
├─ .gitignore
├─ 說明書.md
├─ bus.jpg
├─ CITATION.cff
├─ coco128-seg.yaml
├─ coco128.yaml

├─ CONTRIBUTING.md
├─ cusPost.py
├─ cusPredict.py
├─ cusSeg.py
├─ cusTrain.py
├─ cusTrainSeg.py

├─ LICENSE
├─ mkdocs.yml
├─ pyproject.toml
├─ README.md
├─ README.zh-CN.md
├─ requirementsV8.txt
├─ yolov8n-cls.pt
├─ yolov8n-pose.pt
├─ yolov8n-seg-custom.pt
├─ yolov8n-seg.pt
├─ yolov8n.pt
└─ yolov8s.pt

????????如果需要其他模型可以前往GitHub - ultralytics/ultralytics at v8.2.103(需要魔法上網)下劃找到如圖所示位置下載模型,仍然按照上面的文件結構放置模型文件即可。

模型下載

?


二、訓練

1、添加自己的訓練集

這里以“小目標檢測數據集”為例。

  • 解壓數據集壓縮包到代碼目錄下,位置如圖所示:
數據集位置

?

2、創建訓練集設置文件?

    • 創建該數據集的yaml設置文件,格式如下,根據自己數據集的類別和文件路徑進行修改,比如:數據集的文件路徑為D:\CodeTou-Download\YOLOV8_67\YOLOV8\小目標檢測數據集,則path: D:\CodeTou-Download\YOLOV8_67\YOLOV8\小目標檢測數據集;查看小目標數據集下的class.txt,有兩個類別,則nc: 2;類別名稱分別是earth_person,sea_person,則names: [ 'earth_person', 'sea_person' ] 。
    # 小目標檢測數據集配置文件
    # 基于YOLO格式的小目標檢測數據集# 數據集根目錄(相對于yaml文件位置)
    path: D:\CodeTou-Download\YOLOV8_67\YOLOV8\小目標檢測數據集  # dataset root dir# 訓練集和驗證集路徑
    train: images/train  # train images (relative to 'path')  
    val: images/val  # val images (relative to 'path')
    test: images/test  # test images (optional)# 類別數量
    nc: 2# 類別名稱列表
    names: ['earth_person', 'sea_person']
    

    ?

    ?3、 修改訓練代碼中數據集設置文件

    這里以檢測模型為例,使用cusTrain.py來訓練。

    訓練代碼中數據集位置

    ?

    • 如果訓練終止出現Memory Error,一般是內存占用滿導致的,可以修改batch大小。
    • 如果想要訓練效果更好可以適當增加epochs

    4、開始訓練

    • IDE鼠標點擊運行
    • IDE終端代碼運行

    python cusTrain.py

    ?

    5、 訓練結果

    • 訓練結果在runs/目錄下查看。


    三、預測

      這里使用cusPredict.py?

      1、 修改圖片路徑

      ????????在第11行處修改要預測的圖片路徑。

      2、 開始預測

      • IDE鼠標點擊運行
      • IDE終端代碼運行
      python cusPredict.py


      ?總結

      ? ? ? ? 以上就是使用示例代碼訓練和預測的流程。

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

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

      相關文章

      Transformer的并行計算與長序列處理瓶頸

      Transformer相比RNN(循環神經網絡)的核心優勢之一是天然支持并行計算,這源于其自注意力機制和網絡結構的設計.并行計算能力和長序列處理瓶頸是其架構特性的兩個關鍵表現: 并行計算:指 Transformer 在訓練 / 推理時通過…

      LightRAG:大模型時代的低成本檢索利器

      LightRAG:大模型時代的低成本檢索利器 大模型浪潮下,RAG 技術的困境與曙光 在科技飛速發展的當下,大語言模型(LLMs)已成為人工智能領域的璀璨明星。從最初驚艷世人的 GPT-3,到如今功能愈發強大的 GPT-4&…

      spring boot開發中的資源處理等問題

      文章目錄一、RESTful 風格二、Spring Boot 靜態資源處理三、Spring Boot 首頁(歡迎頁)四、PathVariable 注解五、攔截器(Interceptor)六、過濾器(Filter)七、觸發器(Trigger)八、Han…

      [2025CVPR-圖象生成方向]ODA-GAN:由弱監督學習輔助的正交解耦比對GAN 虛擬免疫組織化學染色

      ?研究背景與挑戰? ?臨床需求? 組織學染色(如H&E和IHC)是病理診斷的核心技術,但IHC染色存在耗時、組織消耗大、圖像未對齊等問題。 虛擬染色技術可通過生成模型將H&E圖像轉換為IHC圖像,但現有方法面臨兩大挑戰: ?染色不真實性?:生成圖像與真實IHC的分布存在…

      【Leetcode】2106. 摘水果

      文章目錄題目思路代碼CJavaPython復雜度分析時間復雜度空間復雜度結果總結題目 題目鏈接🔗 在一個無限的 x 坐標軸上,有許多水果分布在其中某些位置。給你一個二維整數數組 fruits ,其中 fruits[i] [positioni, amounti] 表示共有 amounti…

      (CVPR 2024)SLAM卷不動了,機器人還有哪些方向能做?

      關注gongzhonghao【CVPR頂會精選】眾所周知,機器人因復雜環境適應性差、硬件部署成本高,對高效泛化一直需求迫切。再加上多傳感器協同難題、真實場景數據獲取不易,當下對遷移學習 機器人智能融合的研究也就更熱烈了。不過顯然,這…

      Go語言 延 遲 語 句

      延遲語句(defer)是Go 語言里一個非常有用的關鍵字,它能把資源的釋放語句與申請語句放到距離相近的位置,從而減少了資源泄漏的情況發生。延遲語句是什么defer 是Go 語言提供的一種用于注冊延遲調用的機制:讓函數或語句可…

      【go 】數組的多種初始化方式與操作

      在 Go 語言中,數組是一種固定長度的數據結構,用于存儲相同類型的元素。以下是 Go 中數組的多種初始化方式,結合搜索結果整理如下: (一)使用 var 關鍵字聲明并初始化數組 使用 var 關鍵字聲明數組時&#xf…

      基于Java+MySQL 實現(Web)網上商城

      悅桔拉拉商城1. 課設目的可以鞏固自己之前所學的知識,以及學習更多的新知識。可以掌握業務流程,學習工作的流程。2. 開發環境硬件環境:Window11 電腦、Centos7.6 服務器軟件環境:IntelliJ IDEA 2021.1.3 開發工具JDK 16 運行環境M…

      高并發搶單系統核心實現詳解:Redisson分布式鎖實戰

      一、方法整體流程解析 #mermaid-svg-MROZ2xF7WaNPaztA {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MROZ2xF7WaNPaztA .error-icon{fill:#552222;}#mermaid-svg-MROZ2xF7WaNPaztA .error-text{fill:#552222;strok…

      Android12 User版本開啟adb root, adb remount, su, 關閉selinux

      開啟adb root 直接看adb源碼: __android_log_is_debuggable就是判斷ro.debuggable屬性值,感興趣可以在 源碼下grep下實現看看。auth_required :在adb源碼下定義的全局變量,默認等于true,。看名字就是是否需要用戶授權的flag, 這里不再繼續跟…

      金融專業高分簡歷撰寫指南

      一、金融求職簡歷原則:深度與亮點并存在金融行業求職時,一份出色的簡歷需突出經歷深度與亮點。01 教育背景需如實填寫畢業院校、專業、GPA及所學課程。金融行業不少公司對求職者學校和學歷有嚴格標準,如“985”“211”院校或碩士以上學歷等。…

      專題:2025生命科學與生物制藥全景報告:產業圖譜、投資方向及策略洞察|附130+份報告PDF、原數據表匯總下載

      原文鏈接:https://tecdat.cn/?p43526 過去一年,全球生命科學VC融資回暖至1021.5億美元,并購交易雖下滑23%卻聚焦關鍵賽道,創新藥管線中GLP-1受體激動劑以170億美元市場規模領跑,AI技術將研發周期縮短60%……這些數據背…

      Compose筆記(四十)--ClickableText

      這一節主要了解一下Compose中的ClickableText,在Jetpack Compose中,ClickableText是用于創建可點擊文本的組件,其核心功能是通過聲明式語法將文本設置為交互式元素,用戶點擊時可觸發特定操作。簡單總結如下:API含義 text&#xff…

      面試必刷的數組三連:原地刪除與合并

      堅持用 清晰易懂的圖解 多語言代碼,讓每道題變得簡單! 呆頭個人主頁詳情 呆頭個人Gitee代碼倉庫 呆頭詳細專欄系列 座右銘: “不患無位,患所以立。” 面試必刷的數組三連:原地刪除與合并前言目錄1.移除元素2.刪除有序…

      力扣經典算法篇-41-旋轉圖像(輔助數組法,原地旋轉法)

      1、題干 給定一個 n n 的二維矩陣 matrix 表示一個圖像。請你將圖像順時針旋轉 90 度。 你必須在 原地 旋轉圖像,這意味著你需要直接修改輸入的二維矩陣。請不要 使用另一個矩陣來旋轉圖像。 示例 1:輸入:matrix [[1,2,3],[4,5,6],[7,8,9]]…

      譯|用戶增長策略如何使用因果機器學習的案例

      來自上傳文件中的文章《[Causal Machine Learning for Growth: Loyalty Programs, LTV, and What to Do When You Can’t Experiment | by Torty Sivill | Towards AI]》 本文探討了當 A/B 測試不可行時,如何利用因果推斷從歷史數據中獲取洞察。技術亮點在于通過構建…

      java~final關鍵字

      final關鍵字final基本介紹final的使用細節final基本介紹 final是最終的意思,可以修飾類,屬性,方法,局部變量什么時候會要使用到final呢? 1.想要類不被繼承時 2.不希望類的某個屬性的值被改變時 3.不想父類的某個方法被…

      Node.js(四)之數據庫與身份認證

      數據庫與身份認證 目錄 數據庫與身份認證 十三、數據庫的基本概念 13.1 什么是數據庫 13.2 常見的數據庫及分類 13.3 傳統型數據庫的數據組織結構 1. Excel 的數據組織結構 2. 傳統型數據庫的數據組織結構 3. 實際開發中庫、表、行、字段的關系 十四、安裝并配置MySQ…

      SpringBoot+SpringMVC常用注解

      文章目錄發展歷程項目創建項目結構入門案例配置文件的兩種方式:只能使用一種創建項目二入門案例常用知識及注解Controller:類上面加,SpringMVC的注解GetMapping:方法上面加Spring框架的兩項核心功能Component:組件。控制反轉,加在業務類上面&…