yolo源碼注釋1——文件結構

代碼基于yolov5 v6.0

目錄:

  • yolo源碼注釋1——文件結構
  • yolo源碼注釋2——數據集配置文件
  • yolo源碼注釋3——模型配置文件
  • yolo源碼注釋4——yolo-py
  • datasets # 用于存放數據集的默認文件夾
  • yolov5
    • data # 模型訓練的超參數配置文件以及數據集配置文件
      • hyps # 存放超參數配置文件(yaml格式)
        • hyp.scratch-high.yaml:適用于較大的模型結構,如 yolol
        • hyp.scratch-low.yaml:適用于較小的模型結構,如 yolos
        • hyp.scratch-med.yaml:適用于中等模型結構,如 yolom
      • images # 存放了官方提供的兩張測試圖片:bus.jpg 和 zidane.jpg
      • scripts # 用于下載數據集以及權重文件的shell腳本
        • download_weight.sh:下載權重文件
        • get_coco.sh:下載 coco 數據集
        • get_coco128.sh:下載 coco128 數據集
      • XXX.yaml:各種數據集的配置文件,如 coco.yaml 是 coco 數據集的配置文件
    • models # 搭建模型的相關配置文件及代碼
      • hub # 存放各版本網絡模型的配置文件
        • anchors.yaml:coco 數據集的默認 anchor
        • yolovX-XXX.yaml:模型配置文件
      • common.py:用于搭建網絡的模塊,如Conv、DWConv、TransformerLayer等
      • experimental.py:實驗性質的代碼,其中一些模塊是近幾年提出來的,如CrossConv、Sum等,yolov5的作者嘗試將其融合進yolov5中
      • tf.py:TensorFlow版本的yolov5代碼
      • yolo.py:主要用于搭建yolov5的網絡模型
      • yolov5X.yaml:yolov5的模型配置文件
    • runs #運行過程中產生的文件夾,每運行一次都會生成一個名為 expN 的文件夾(N代表運行次數)
      • detect # 運行 detect.py 產生的圖片,圖片中標注出識別到的物體及其概率
      • train # 運行 train.py 產生的文件
        • weights # 權重(包括訓練出的最好權重 best.pt 以及上次訓練的權重 last.pt)
        • confusion_matrix.png:混淆矩陣
        • F1_curve.png:F1 score 與置信度之間的關系
        • hyp.yaml:超參數記錄文件
        • labels.jpg:包含四張子圖,從左上到右下分別是每個類別的個數、標注的 bbox、標注的bbox的中心點坐標熱圖、bbox的寬高熱圖
        • labels_correlogram.jpg:預測框的寬高以及中心坐標熱圖
        • opt.yaml:模型記錄文件
        • P_curve.png:準確率與置信度之間的關系
        • PR_curve.png:精準率與召回率之間的關系
        • R_curve.png:精準率與置信度之間的關系
        • results.csv:模型訓練過程中的指標,如損失函數、準確率等
        • results.png:訓練集以及驗證集在驗證過程中的損失函數、mAP等指標的曲線
        • train_bathN.jpg:訓練集圖像(帶bbox)
        • val_batchN_labels.jpg:驗證集圖像(帶bbox)
        • val_batchN_pred.jpg:驗證集圖像(帶預測框)
    • utils # 通用的工具類函數
      • aws:恢復中斷訓練相關
      • docker:docker配置相關
      • flash_rest_api:flask接口相關
      • google_app_engine:google app相關
      • loggers:日志打印(包括TensorBoard)
      • activations.py:激活函數
      • augmentations.py:圖像增強
      • autoanchor.py:自動生成 anchor
      • autobatch.py:自動生成 batch size
      • benchmarks.py:評估模型的推理速度以及分析內存占用
      • callbacks.py:主要是 logger 的回調函數
      • datasets.py:配置 dataloader 和 datasets
      • downloads.py:下載數據集
      • general.py:通用函數
      • loss.py:損失函數
      • metrics.py:模型驗證指標
      • plots.py:繪制損失函數等的曲線、bbox等
      • torch_utils.py:其他一些通用函數
    • detect.py:將訓練好的模型用于圖片、視頻等進行目標檢測
    • export.py:導出模型
    • hubconf.py:pytorch hub 相關,用于定義和管理模型的預訓練權重和配置信息
    • train.py:訓練模型
    • val.py:驗證模型,評估模型性能

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

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

相關文章

C語言學習錯題集(五)

1.最大公倍數的求法(gcd已知) 2.報數 3.字符串最后必須有’\0’!!! 4.例題 5.例題 6.例題 1.最大公倍數的求法(gcd已知) int lcmgcd*(a/gcd)*(b/gcd);2.報數 報數游戲是這樣的:有n個人圍成一圈,按順序從1到n編好號。從第一個人開始報數,報到…

工程項目管理系統源碼+功能清單+項目模塊+spring cloud +spring boot em

? 工程項目管理軟件(工程項目管理系統)對建設工程項目管理組織建設、項目策劃決策、規劃設計、施工建設到竣工交付、總結評估、運維運營,全過程、全方位的對項目進行綜合管理 工程項目各模塊及其功能點清單 一、系統管理 1、數據字典&#…

代碼保護 code protection

為什么要做代碼保護? 為了保護知識產權并讓攻擊者的利用更加困難,組織應該為其軟件的逆向工程設置障礙(例如,反篡改、調試保護、反盜版特性、運行時完整性),增加攻擊者分析和利用你的軟件所需的投入。代碼保護對于廣泛分布的代碼…

Markdown使用筆記

Markdown使用筆記 一、段落與強調 important denotes the impossible thing to do Because your ugly appearance, you cannot have a happy ending. 使用*括起來的為斜體 使用**括起來的是粗體 使用~~括起來的是刪除線 在句子后面添加<br>即可換行 二、標題 在…

常見期權策略類型有哪些?

這幾天在做一個期權策略類型的整理分類&#xff0c;怎么解釋期權策略&#xff0c;期權策略是現代金融市場中運用非常廣泛、變化非常豐富、結構非常精妙的金融衍生產品&#xff1b;同時也是一種更為復雜也更為靈活的投資工具&#xff0c;下文介紹常見期權策略類型有哪些&#xf…

iptables安全技術和防火墻

通信五元素 源ip和目標ip 源端口和目標端口 協議 通信四元素 源ip和目標ip 源端口和目標端口 iptables表鏈結構 Netfilter Linux防火墻是由Netfilter組件提供的&#xff0c;Netfilter工作在內核空間&#xff0c;集成在linux內核中 Netfilter是Linux 2.4.x之后新一代的Li…

CI/CD流水線實戰

不知道為什么&#xff0c;現在什么技術都想學&#xff0c;因為我覺得我遇到了技術的壁壘&#xff0c;大的項目接觸不到&#xff0c;做的項目一個字辣*。所以&#xff0c;整個人心浮氣躁&#xff0c;我已經得通過每天的騎行和長跑緩解這種浮躁了。一個周末&#xff0c;我再次宅在…

k8s問題匯總

作者前言 本文章為記錄使用k8s遇到的問題和解決方法&#xff0c;文章持續更新中… 目錄 作者前言正常配置ingress&#xff0c;但是訪問錯誤添加工作節點報錯安裝k8s報錯使用kubectl命令報錯container沒有運行安裝會出現kubelet異常&#xff0c;無法識別刪除k8s集群訪問dashboa…

Docker安裝RabbitMQ單機版

Docker安裝RabbitMQ單機版 先安裝Docker服務&#xff0c;可參考安裝Docker及學習 編寫rabbitmq-composefile.yml文件 這里以rabbitmq 3.11.16 版本為例 cat << \EOF > /opt/rabbitmq-composefile.yml version: 3 services:rabbitmq:image: rabbitmq:3.10.0-managem…

【Apollo】推動創新:探索阿波羅自動駕駛的進步(含安裝 Apollo的詳細教程)

前言 Apollo (阿波羅)是一個開放的、完整的、安全的平臺&#xff0c;將幫助汽車行業及自動駕駛領域的合作伙伴結合車輛和硬件系統&#xff0c;快速搭建一套屬于自己的自動駕駛系統。 開放能力、共享資源、加速創新、持續共贏是 Apollo 開放平臺的口號。百度把自己所擁有的強大、…

【密碼學】維京密碼

維京密碼 瑞典羅特布魯納巨石上的圖案看起來毫無意義&#xff0c;但是它確實是一種維京密碼。如果我們注意到每組圖案中長筆畫和短筆畫的數量&#xff0c;將得到一組數字2、4、2、3、3、5、2、3、3、6、3、5。組合配對得到24、23、35、23、36、35。現在考慮如圖1.4所示的內容&a…

【變形金剛03】使用 Pytorch 開始構建transformer

一、說明 在本教程中&#xff0c;我們將使用 PyTorch 從頭開始構建一個基本的轉換器模型。Vaswani等人在論文“注意力是你所需要的一切”中引入的Transformer模型是一種深度學習架構&#xff0c;專為序列到序列任務而設計&#xff0c;例如機器翻譯和文本摘要。它基于自我注意機…

iOS Epub閱讀器改造記錄

六個月前在這個YHEpubDemo閱讀器的基礎上做了一些優化&#xff0c;這里做一下記錄。 1.首行縮進修復 由于分頁的存在&#xff0c;新的一頁的首行可能是新的一行&#xff0c;則應該縮進&#xff1b;也可能是前面一頁段落的延續&#xff0c;這時候不應該縮進。YHEpubDemo基于XDS…

pycharm,VSCode 幾個好用的插件

pycharm Tabnine AI Code 可以在編寫程序的時候為你提供一些快捷方式&#xff0c;增加編程速度 Chinese 對英文不好的程序員來說是個不錯的選擇&#xff0c;可以將英文狀態下的pycharm變為中文版的 ChatGPT 可以跟ai聊天&#xff0c;ai可以解決你80%的問題 &#xff0c;也可以幫…

變形金剛:從零開始【01/2】

一、說明 在我們的日常生活中&#xff0c;無論你是否是數據科學家&#xff0c;你都在單向地使用變壓器模型。例如。如果您使用的是 ChatGPT 或 GPT-4 或任何 GPT&#xff0c;那么在為您回答問題的框中是變壓器的一部分。如果您是數據科學家或數據分析師&#xff0c;則可能正在使…

【BASH】回顧與知識點梳理(二十九)

【BASH】回顧與知識點梳理 二十九 二十九. 進程和工作管理29.1 什么是進程 (process)進程與程序 (process & program)子進程與父進程&#xff1a;fork and exec&#xff1a;進程呼叫的流程系統或網絡服務&#xff1a;常駐在內存的進程 29.2 Linux 的多人多任務環境多人環境…

SAP MM學習筆記23-購買發注的賬戶分配類型(勘定Category)

SAP中控制財務憑證過賬科目的是 賬號分配類型&#xff08;勘定Category&#xff09;欄目。 ?賬號分配類型&#xff08;勘定Category&#xff09;有&#xff1a; 1&#xff0c;K 原價Center&#xff08;成本中心。用于消耗物料采購 的過賬&#xff09; 2&#xff0c;E 得意先…

【云原生之Docker實戰】使用Docker部署Syncthing同步程序及基本使用

【云原生之Docker實戰】使用Docker部署Syncthing同步程序及基本使用 一、Syncthing介紹1.1 Syncthing簡介1.2 Syncthing特點1.3 備份和同步區別二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker comp…

LabVIEW對并行機器人結構進行建模仿真

LabVIEW對并行機器人結構進行建模仿真 為了對復雜機器人結構的數學模型進行建模、搜索、動畫和驗證&#xff0c;在工業機器人動態行為實驗室中&#xff0c;設計并實現了具有五個自由度的單臂型機器人。在研究臺上可以區分以下元素&#xff1a;帶有直流電機和編碼器的機器人;穩…

nvm管理node版本

nvm是什么&#xff1f; NVM全名叫做 nodejs version manage,即Node的版本管理工具。 使用NVM&#xff0c;可以通過命令很方便地在多個NodeJS版本之間進行切換。 nvm的下載與安裝 下載地址&#xff1a;Releases coreybutler/nvm-windows (github.com) windows系統下載nvm-setup…