Ubuntu20.04系統上使用YOLOv5訓練自己的模型-1

在Ubuntu系統上使用YOLOv5訓練自己的模型,你需要遵循以下步驟。這里我將詳細說明如何從準備數據集到訓練模型的整個過程。

步驟 1: 安裝依賴項

首先,確保你的Ubuntu系統上安裝了Python、PyTorch和必要的庫。你可以使用以下命令安裝這些依賴項:

sudo apt update
sudo apt install python3-pip
pip3 install torch torchvision torchaudio
pip3 install numpy matplotlib
pip3 install opencv-python
pip3 install Pillow
pip3 install scipy
步驟 2: 克隆YOLOv5倉庫

接下來,克隆YOLOv5的GitHub倉庫到你的系統中:

git clone https://github.com/ultralytics/yolov5.git
cd yolov5
步驟 3: 準備數據集

你需要準備自己的數據集。數據集應該包含圖片和相應的標注文件(通常是YOLO格式的txt文件)。例如,你的文件夾結構可能是這樣的:

/dataset
/images
image1.jpg
image2.jpg

/labels
image1.txt
image2.txt

每個.txt文件包含與圖像對應的標注信息,
安裝labelimg來進行圖片信息標注,下載地址
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
輸出結果例如:

0 0.1 0.2 0.3 0.4 # class x_center y_center width height
1 0.6 0.7 0.1 0.2 # class x_center y_center width height
步驟 4: 創建數據集配置文件

在yolov5目錄中,編輯data文件夾下的hyp.yaml文件來配置你的數據集路徑和類別:

train: …/dataset/images/train/ # 訓練圖像路徑
val: …/dataset/images/val/ # 驗證圖像路徑

nc: 2 # 類別數,例如2個類別(人、車)
names: [‘person’, ‘car’] # 類別名稱列表
步驟 5: 訓練模型

使用以下命令開始訓練你的模型:

python train.py --img 640 --batch 16 --epochs 50 --data data/hyp.yaml --weights yolov5s.pt --name my_experiment --cache

這里是一些參數的解釋:

–img:輸入圖像的大小。

–batch:批量大小。

–epochs:訓練周期數。

–data:數據集配置文件路徑。

–weights:預訓練權重,例如yolov5s.pt。如果你從頭開始訓練,可以使用yolov5s.pt。對于從頭開始,你也可以使用yolov5s.yaml配置文件來指定網絡結構。

–name:實驗名稱,用于保存模型和結果。

–cache:啟用緩存以提高性能。

步驟 6: 驗證和測試模型

訓練完成后,你可以使用以下命令來評估你的模型:

python val.py --weights runs/train/my_experiment/weights/best.pt --data data/hyp.yaml --img 640 --conf 0.4 --iou 0.5 --device 0 --half # 使用最佳權重進行評估
步驟 7: 進行推理和測試(可選)

最后,你可以使用以下命令來測試你的模型:

python detect.py --weights runs/train/my_experiment/weights/best.pt --source data/dataset/images/test --img 640 --conf 0.4 --iou 0.5 --device 0 --half # 對測試圖像進行檢測

這樣,你就完成了在Ubuntu上使用YOLOv5訓練自己的模型的過程。確保根據你的具體需求調整參數和配置。

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

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

相關文章

解決微信小程序中camera組件被view事件穿透觸發對焦以及camera的bindtap事件

view跟camera組件同級 不要用bind:tap和catch:tap 替換用catch:touchstart即可解決&#xff01; 如果你不放心&#xff0c;可以再加個透明蒙版&#xff0c;這樣就不會觸發了&#xff01;&#xff08;不加這個也行&#xff0c;但是必須要用catch:touchstart&#xff09;<!-- …

【Redis】移動設備離線通知推送全流程實現:系統推送服務與Redis的協同應用

在移動應用開發中&#xff0c;應用未啟動時的通知推送是提升用戶體驗的核心需求之一。當用戶未主動啟動 App 時&#xff0c;如何通過手機通知欄觸達用戶&#xff0c;確保關鍵信息&#xff08;如訂單提醒、系統警報&#xff09;不丟失&#xff1f;本文將嘗試解析從 系統推送服務…

WebView 中控制光標

在 WebView 中控制光標&#xff08;如移動焦點、獲取/設置光標位置、顯示/隱藏光標等&#xff09;需要根據具體場景和平臺&#xff08;Android/iOS/Web&#xff09;采用不同的方法。以下是常見場景的解決方案&#xff1a;一、Web 頁面中的光標控制&#xff08;JavaScript&#…

2025國賽數學建模C題詳細思路模型代碼獲取,備戰國賽算法解析——決策樹

2025國賽數學建模C題詳細思路模型代碼獲取見文末名片 決策樹算法&#xff1a;從原理到實戰&#xff08;數模小白友好版&#xff09; 1. 決策樹是什么&#xff1f;——用生活例子理解核心概念 想象你周末想決定是否去野餐&#xff0c;可能會這樣思考&#xff1a; 根節點&#xf…

從底層架構到多元場景:計算機構成與應用的深度剖析

一、引言1.1 研究背景與意義在當今數字化時代&#xff0c;計算機已成為推動社會進步和經濟發展的核心力量&#xff0c;其身影遍布生活、工作、學習的各個角落。從個人日常使用的筆記本電腦、智能手機&#xff0c;到企業運營中不可或缺的服務器、大型機&#xff0c;再到科研領域…

控制建模matlab練習08:根軌跡

此練習主要是&#xff1a;在matlab中繪制根軌跡的方法。 一、在matlab中建立對應系統 1、例如&#xff0c;對于如圖的反饋系統。 2、其中開環傳遞函數G(s)、閉環傳遞函數Gcl(s)。3、因此&#xff0c;其閉環傳遞函數的根軌跡&#xff0c;就可以直接在matlab中繪制出來。 4、直接…

【Spring Boot 快速入門】七、阿里云 OSS 文件上傳

這里寫自定義目錄標題準備阿里云 OSS參照官方 SDK 編寫入門程序案例數據準備案例集成阿里云 OSS前端測試代碼app.jsstyle.cssindex.html效果圖準備阿里云 OSS 注冊登錄阿里云&#xff0c;然后點擊控制臺&#xff0c;在左上角菜單欄搜索對象存儲 OSS&#xff0c;點擊并開通點擊…

分布式微服務--Nacos作為配置中心(二)

前言&#xff1a;Nacos 是什么&#xff1f; Nacos&#xff08;Naming and Configuration Service&#xff09;是阿里巴巴開源的一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。我們可以使用它&#xff1a; ?作為注冊中心&#xff08;服務發現&#xff09; …

家庭/公司內部網絡內網穿透:無公網IP怎么設置外網遠程訪問?

家庭寬帶內網穿透如何實現&#xff1f;需公網IP嗎&#xff1f;公司內部的網址服務怎么提供互聯網訪問&#xff1f;相信很多人都有遇到家庭網和公司內部網下&#xff0c;搭建了服務器&#xff0c;或網絡硬件設備&#xff0c;需要在異地遠程訪問使用的情況。家庭和公司內部寬帶內…

水庫防洪安全雨水情監測預警系統

水庫防洪安全雨水情監測預警系統是一種高度集成現代信息技術與水利工程管理的綜合性智能化管理平臺&#xff0c;該系統主要應用于水庫及其周邊流域的實時水情監測與預警工作。通過部署先進的傳感設備和監測網絡&#xff0c;該系統能夠全天候不間斷地采集水庫庫區及周邊區域的降…

【論文閱讀】Editing Large Language Models: Problems, Methods, and Opportunities

Editing Large Language Models: Problems, Methods, and Opportunities原文摘要研究背景與問題提出核心問題&#xff1a;盡管LLM已具備強大的能力&#xff0c;但如何長期維持其時效性并修正錯誤仍缺乏系統方法論。現狀&#xff1a;近年來&#xff0c;針對LLMs的模型編輯技術興…

金融數據可視化的強力引擎 —— QtitanDataGrid在金融行業的應用實踐

QtitanDataGrid是一款適用于Qt的商業化DataGrid 組件&#xff0c;它使得表格數據可以直接面向終端用戶。這個組件吸收了用戶界面結構顯示表格方面所有的現代化技術的精華&#xff0c;是目前Qt市場上唯一一款擁有如此高級功能和出色性能的網格組件。這個Qt數據網格組件使用純C創…

玩轉 InfluxDB 3:用 HTTP API 快速創建高效數據表

前言 說起時間序列數據庫,InfluxDB 絕對是業界響當當的明星。數據源源不斷涌入,能否高效存儲和查詢,直接決定你的業務能不能飛速跑起來。可你還在用客戶端或者命令行一點一點手動操作?朋友,這操作太老土,分分鐘拖慢節奏。 現在是 API 自動化時代,HTTP API 可幫你輕松搞…

stc32g利用硬件I2C配合中斷實現高效率異步無阻塞讀寫方法

I2C讀寫巨慢, 即使在400kbit/s下, 讀寫一個字節數據也要花費20多us, 這太慢了, 每讀寫一次設備的寄存器數據, 還要設備地址和寄存器地址, 又加了兩個字節數據, 我就讀了個傳感器的兩個字節數據而已, 動輒還要花費100us的阻塞時間, 這太浪費資源了針對這個問題, 我利用硬件I2C及…

生成式 AI 重塑自動駕駛仿真:4D 場景生成技術的突破與實踐

近年來&#xff0c;伴隨自動駕駛技術的快速發展&#xff0c;行業對于仿真測試平臺的精度、覆蓋率和可擴展性提出了更高要求。尤其在數據閉環迭代、長尾場景驗證及安全冗余驗證等關鍵環節中&#xff0c;高保真、高復雜度的場景生成能力正在成為測試體系的核心支撐。 傳統場景生…

Java 啟動命令的完整解析

以下為您提供的 Java 啟動命令的完整解析和優化建議: nohup java -server \ -XX:+PrintGCDateStamps \ -XX:+PrintGCTimeStamps \ -Xlogger:/home/logs/gc_`date +%Y%m%d_%H%M`.log \ -jar ytr.jar > /dev/null & 一、命令逐行解析 命令部分 功能說明 技術原理 nohup …

JVM中的垃圾回收暫停是什么,為什么會出現暫停,不同的垃圾回收機制暫停對比

JVM中的垃圾回收暫停是什么&#xff1f; 在Java虛擬機&#xff08;JVM&#xff09;中&#xff0c;垃圾回收暫停&#xff08;Garbage Collection Pause&#xff09;&#xff0c;也稱為“Stop-The-World”事件&#xff0c;是指當垃圾收集器執行特定階段時&#xff0c;所有應用程序…

Spearman 相關系數與 Pearson 相關系數的區別

核心區別對比表特征Pearson 相關系數Spearman 相關系數相關性類型線性相關單調相關計算基礎原始數據值數據排名&#xff08;秩&#xff09;公式數據要求連續變量&#xff0c;近似正態分布有序數據或連續變量異常值敏感性高度敏感不敏感取值范圍[-1, 1][-1, 1]單調關系檢測僅檢測…

sqli-labs靶場less36-less40

less361.我們打開靶場之后打開來看一下&#xff0c;輸入的內容會被轉義&#xff0c;依舊是寬字節注入2.使用以下寬字節注入&#xff0c;使用的是%df?id-1%df%27%20union%20select%201,database(),3--3.剩余內容與前面關卡基本一樣&#xff0c;只要使用上面的方法合成寬字節即可…

企業級 TinyMCE Vue 編輯器解決方案 – 配置優化與性能提升指南、自定義插件

## 簡介TinyMCE Vue 是官方提供的 TinyMCE 富文本編輯器的 Vue 組件封裝&#xff0c;支持 Vue 2 和 Vue 3。它讓你可以在 Vue 項目中快速集成強大的富文本編輯能力&#xff0c;支持多種插件、主題和自定義擴展&#xff0c;適用于博客、內容管理、后臺系統等多種場景。主要特性&…