yolov8,yolo11,yolo12 服務器訓練到部署全流程 筆記

正在進行中,隨時更新

一. Anaconda配置

?1.安裝anaconda

(1)下載.sh文件

Index of /anaconda/archive/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror

(2)scp到服務器后,運行安裝包

bash Anaconda3-2020.07-Linux-x86_64.sh 

(3)安裝anaconda

1.回車進入注冊界面(q鍵跳過閱讀)

2.yes

3.設置安裝路徑,選擇默認就直接回車

4.Do you wish the installer to initialize Anaconda3 by running conda init ?

您是否希望安裝程序通過運行 conda init 來初始化 Anaconda3?--yes?

(4)修改環境變量,并驗證安裝

vim ~/.bashrcexport PATH="/home/username/anaconda3/bin:$PATH"source ~/.bashrcconda --version

常用conda指令?

#創建
conda create -n your_env_name python=3.8#激活
source activate your_env_name#退出
source deactivate your_env_name#刪除
conda remove -n your_env_name --all#安裝包
conda install package_name(包名)
conda install scrapy==1.3 # 安裝指定版本的包
conda install -n 環境名 包名 # 在conda指定的某個環境中安裝包#查看當前存在哪些虛擬環境
conda env list 

二. yolov8、yolo11、yolo12?區別

YOLO11與YOLOv8差異可以由圖中得

橫坐標:處理一張圖像的速度快慢(Latency),單位ms

縱坐標:COCO數據集上的平均精度(mAP),范圍從0.50到0.95,越高表示模型的檢測精度越好

曲線越靠右上,表示模型在保持較低Latency的同時,能夠達到更高的mAP,性能越好。

1.YOLO11 改進及優劣

1.針對現代 GPU 優化訓練和推理,訓練速度提升 25%,延遲降低(如 Nano 模型延遲從 1.84ms 降至 1.55ms)

2.新增旋轉邊界框(OBB)、姿態估計等專用模型(后綴如?-obb-pose

3.通過架構優化減少參數數量,保持精度同時提升效率

優勢

  • 高推理效率,尤其在 GPU 上表現出色,適合實時高負載場景
  • 模型壓縮技術成熟,適合資源受限的嵌入式設備

劣勢

  • 超大模型(如 YOLOv11x)的延遲反而增加(11.31ms vs YOLOv10x 的 10.70ms)
  • 對自定義數據集的遷移學習效果略遜于 YOLOv8(mAP 差距約 0.5)

  • YOLOv8:追求高精度和復雜任務(如實例分割、姿態估計),硬件資源充足

  • YOLOv11:需要低延遲、高吞吐量的實時應用(如工業檢測、移動端部署),或需處理旋轉目標

三. yolov8n-seg

官方文檔:YOLOv8 -Ultralytics YOLO 文檔

1. yolov8環境配置

創建yolov8 conda 虛擬環境,在虛擬環境中

# 安裝YOLOv8,直接使用命令安裝
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple# 或者通過拉取倉庫然后安裝
git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .

2. 訓練

參考官方說明文檔

https://docs.ultralytics.com/modes/train/#arguments

四. yolo11

1. yolo11 介紹

Ultralytics YOLO11?是新一代計算機視覺模型, 在目標檢測、實例分割、圖像分類、姿勢估計、定向物體檢測和對象跟蹤等計算機視覺任務上展現了卓越的性能和準確性。

整體上yolo11相較于yolov8變化不大, 主要的改變有加入多頭注意力機制,分類檢測頭加入深度可分離卷積等等,在性能和準確度上相對于yolov8有顯著提升。

官方文檔:YOLO11 🚀 新 -Ultralytics YOLO 文檔

2. yolo11 模型訓練

2.1 yolov11 工程及環境配置

conda create -n yolo11 python=3.8
conda activate yolo11# 配置pip源(可選)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/# 安裝
pip install ultralytics# 或者
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .# 檢測版本
(yolo11) yolo version
8.3.29

安裝完成后,為了轉onnx模型和更好的訓練,建議再配置如下幾個庫,可以參考官方項目中的requirement.txt文件。

pip install tensorboard==2.13.0 onnx==1.12.0 onnxsim==0.4.1 pycocotools==2.0.6 -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.2 訓練yolo11

進行模型推理測試:

yolo predict model=yolo11n.pt source='https://ultralytics.com/images/bus.jpg'

會自動下載模型權重及測試圖片。結果保存在runs/detect/predict目錄下。

訓練自己的數據集需要分別配置以下內容:

1)yaml模型文件

位于:./yolo11/ultralytics/ultralytics/cfg/models/11。

需要創建一個根據自己需要的yaml文件:yolo11-seg_1class.yaml

將類別修改為1。便于部署。

2)預訓練模型(可以用默認文件,自動下載)

默認model=yolo11n.pt

3)訓練數據和參數

在./yolo11/ultralytics/ultralytics/cfg/datasets路徑下,參考coco128.yaml文件,制作一個單一類別的參數文件。需要更改類別名和訓練數據路徑。

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license# COCO128 dataset https://www.kaggle.com/datasets/ultralytics/coco128 (first 128 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco/
# Example usage: yolo train data=coco128.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco128  ← downloads here (7 MB)# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: /home/username/datase
train: images/train  # train images (relative to 'path') 128 images
val: images/val  # val images (relative to 'path') 128 images
test: # test images (optional)# Classes
names:0: qrcode

在./yolo11/ultralytics/ultralytics路徑下新建一個mytrain_1c_detect.py文件。

設置輸入模型的圖像大小

from ultralytics import YOLOmodel = YOLO('./ultralytics/cfg/models/11/yolo11-seg_1class.yaml').load('./yolo11n.pt')  # build from YAML and transfer weights
results = model.train(data='./ultralytics/cfg/datasets/charge-seg.yaml', epochs=200, batch=128, imgsz=512, device=0, project='grassDetect')

在終端中運行:

python mytrain_1c_detect.py 

2.3 模型轉換

導出為onnx格式模型?

模型導出使用專門針對rknn優化的?ultralytics_yolo11?。 該工程在基于不影響輸出結果, 不需要重新訓練模型的條件下, 有以下改動:

  • 修改輸出結構, 移除后處理結構(后處理結果對于量化不友好);

  • dfl 結構在 NPU 處理上性能不佳,移至模型外部的后處理階段,此操作大部分情況下可提升推理性能;

  • 模型輸出分支新增置信度的總和,用于后處理階段加速閾值篩選。

git clone https://github.com/airockchip/ultralytics_yolo11.git# 修改 ./ultralytics/cfg/default.yaml中model文件路徑,默認為yolo11n.pt# 導出onnx模型
export PYTHONPATH=./
python ./ultralytics/engine/exporter.py

導出的onnx模型會在同目錄下,使用?netron?查看其模型輸入輸出。

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

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

相關文章

從零開始開發純血鴻蒙應用之語音朗讀

從零開始開發純血鴻蒙應用 〇、前言一、API 選型1、基本情況2、認識TextToSpeechEngine 二、功能集成實踐1、改造右上角菜單2、實現語音播報功能2.1、語音引擎的獲取和關閉2.2、設置待播報文本2.3、speak 目標文本2.4、設置語音回調 三、總結 〇、前言 中華漢字洋洋灑灑何其多…

【AGI】DeepSeek開源周:The whale is making waves!

DeepSeek開源周:The whale is making waves! 思維火花引言一、DeepSeek模型體系的技術演進1. 通用語言模型:DeepSeek-V3系列2. 推理優化模型:DeepSeek-R1系列3. 多模態模型:Janus系列 二、開源周三大工具庫的技術解析1…

25年前端如何走的更穩

2025年,隨著deepseek引起的AI大模型技術的深度革命,帶來了很多機會和挑戰,前端程序員作為互聯網里一個普通但必不可少的崗位,在當前形勢下,需要主動變革才能走的更穩。本文簡單介紹三個方向,Web3前端、全棧…

DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順

DockerでOracle Database 23c FreeをセットアップしMAX_STRING_SIZEを拡張する手順 はじめに環境準備ディレクトリ作成Dockerコンテナ起動 データベース設定変更コンテナ內でSQL*Plus起動PDB操作と文字列サイズ拡張設定検証 管理者ユーザー作成注意事項まとめ はじめに Oracle…

市場加速下跌,但監管「堅冰」正在消融

作者:Techub 熱點速遞 撰文:Yangz,Techub News 與近日氣溫逐步回暖不同,自 2 月 25 日比特幣跌破 9 萬美元以來,加密貨幣市場行情一路下滑。今日 10 時 50 分左右,比特幣更是跌破 8 萬美元大關&#xff0c…

【Android】安卓付款密碼輸入框、支付密碼輸入框

如圖 代碼部分&#xff1a; public class PayPasswordDialog extends AppCompatDialogFragment {private String mPayPass "";private String mTitle, mMoney;private final TextView[] mPayPassTextViewArray new TextView[6];private List<Integer> mPayP…

Java數據結構_一篇文章了解常用排序_8.1

本文所有排序舉例均默認為升序排列。 目錄 1. 常見的排序算法 2. 常見排序算法的實現 2.1 插入排序 2.1.1 基本思想&#xff1a; 2.1.2 直接插入排序 2.1.3 希爾排序&#xff08;縮小增量排序&#xff09; 2.2 選擇排序 2.2.1 基本思想&#xff1a; 2.2.2 直接選擇排…

性能調優篇——索引優化與執行計劃解析

引言 當數據庫表數據突破千萬級時&#xff0c;一個未優化的索引可能讓查詢耗時從毫秒級暴增至分鐘級。某電商平臺曾因商品搜索接口的索引缺失&#xff0c;導致大促期間數據庫CPU飆升至98%&#xff0c;直接引發服務雪崩。本文將深入B樹索引的存儲奧秘&#xff0c;詳解慢查詢日志…

計算機畢業設計SpringBoot+Vue.js人口老齡化社區服務與管理平臺 (源碼+文檔+PPT+講解)

溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 作者簡介&#xff1a;Java領…

C#上位機--三元運算符

引言 在 C# 上位機開發中&#xff0c;我們經常需要根據不同的條件來執行不同的操作。條件判斷是編程中不可或缺的一部分&#xff0c;而三元運算符就是一種簡潔而強大的條件判斷工具。本文將詳細介紹 C# 中的三元運算符&#xff0c;探討其在上位機開發中的應用場景&#xff0c;…

AI時代保護自己的隱私

人工智能最重要的就是數據&#xff0c;讓我們面對現實&#xff0c;大多數人都不知道他們每天要向人工智能提供多少數據。你輸入的每條聊天記錄&#xff0c;你發出的每條語音命令&#xff0c;人工智能生成的每張圖片、電子郵件和文本。我建設了一個網站(haptool.com)&#xff0c…

Hutool - POI:讓 Excel 與 Word 操作變得輕而易舉

各位開發者們&#xff0c;在日常的 Java 開發工作里&#xff0c;處理 Excel 和 Word 文件是相當常見的需求。無論是從 Excel 里讀取數據進行分析&#xff0c;還是將數據寫入 Excel 生成報表&#xff0c;亦或是對 Word 文檔進行內容編輯&#xff0c;傳統的 Apache POI 庫雖然功能…

數據庫操作命令詳解:CREATE、ALTER、DROP 的使用與實踐

引言? 數據庫是存儲和管理數據的核心工具&#xff0c;而 ?DDL&#xff08;Data Definition Language&#xff0c;數據定義語言&#xff09;?? 是構建和調整數據庫結構的基石。本文將通過實際示例&#xff0c;詳細講解 CREATE&#xff08;創建&#xff09;、ALTER&#xff0…

Asp.Net Core WebAPI開發教程(入門)

一、Asp.Net Core WebAPI項目創建 二、Asp.Net Core WebApi/Mvc路由定義 二、Asp.Net Core WebAPI 請求案例 Asp.Net WebApi Get請求整理&#xff08;一&#xff09; Asp.Net WebApi Post請求整理&#xff08;一&#xff09; Asp.Net WebApi Action命名中已‘Get’開頭問題 …

VSCode大的JSON數據不能折疊問題

修改editor.foldingMaximumRegions為10000解決&#xff0c;默認只支持5000 在 VSCode 中&#xff0c;默認的 JSON 文件折疊功能對嵌套層級較深的數據支持有限。以下是幾種解決嵌套 4 層以上數據無法折疊的方法&#xff1a; 1. 使用擴展插件 安裝支持更復雜折疊功能的插件&am…

IPoIB源碼深度解析:如何基于TCP/IP協議棧實現高性能InfiniBand通信

一、IPoIB的核心設計理念 IPoIB(IP over InfiniBand)是一種在InfiniBand網絡上承載IP流量的技術,其核心目標是在不修改上層應用的前提下,利用InfiniBand的高帶寬和低延遲特性。與自定義協議棧不同,IPoIB通過深度集成到Linux內核TCP/IP協議棧中,將InfiniBand設備抽象為標…

Vue學習教程-18Vue單文件組件

文章目錄 前言一、單文件組件的構成二、組件引用三、組件的應用舉例1.組件實例2.顯示結果 前言 Vue 單文件組件&#xff08;又名 *.vue 文件&#xff0c;縮寫為 SFC&#xff09;是一種特殊的文件格式&#xff0c;它允許將 Vue 組件的模板、邏輯 與 樣式封裝在單個文件中。組件…

掌握 findIndex、push 和 splice:打造微信小程序的靈活圖片上傳功能?

文章目錄 ? 掌握 findIndex、push 和 splice&#xff1a;打造微信小程序的靈活圖片上傳功能 &#x1f31f;示例場景&#xff1a;小程序圖片上傳&#x1f33c; 認識 findIndex定義語法在代碼中的應用示例當前行為 &#x1f680; 認識 push定義語法在代碼中的應用示例特點 ?? …

微服務即時通信系統---(七)文件管理子服務

目錄 功能設計 模塊劃分 業務接口/功能示意圖 服務實現流程 服務代碼實現 封裝文件操作模塊(utils.hpp) 獲取唯一標識ID 文件讀操作 文件寫操作 編寫proto文件 文件元信息 文件管理proto 單文件上傳 多文件上傳 單文件下載 多文件下載 RPC調用 服務端創建子…

fluent-ffmpeg 依賴詳解

fluent-ffmpeg 是一個用于在 Node.js 環境中與 FFmpeg 進行交互的強大庫&#xff0c;它提供了流暢的 API 來執行各種音視頻處理任務&#xff0c;如轉碼、剪輯、合并等。 一、安裝 npm install fluent-ffmpeg二、基本使用 要使用 fluent-ffmpeg&#xff0c;首先需要確保系統中…