91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

物件檢測的模型訓練與優(yōu)化

NVIDIA英偉達企業(yè)解決方案 ? 來源:NVIDIA英偉達企業(yè)解決方案 ? 作者:NVIDIA英偉達企業(yè)解 ? 2022-04-27 10:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

物件檢測 (objectdetection) 或物件定位 (object location) 是目前普及度最高的人工智能應用,也是過去幾年中神經(jīng)網(wǎng)絡發(fā)展最迅猛的領域,短短幾年之中創(chuàng)造出非常多優(yōu)異的經(jīng)典算法,并且各有所長,如今在數(shù)量與質(zhì)量上都還持續(xù)進化中,這現(xiàn)象其實也是造成使用者很大困擾之處,因為究竟哪種神經(jīng)網(wǎng)絡最適合您的使用場景,最終還是得經(jīng)過實際驗證之后才能確認。

TAO 工具非常高效地協(xié)助我們解決這個難題,讓我們在不了解各種神經(jīng)網(wǎng)絡結(jié)構與算法、也不熟悉 Tensorflow 或 Pytorch 這些復雜框架之前,不用撰寫任何 C++Python 代碼,就能非常輕易地訓練好深度學習模型,并且快速驗證不同網(wǎng)絡模型的性能與效果,這估計能減少能降低 80% 以上的前期學習與評估的時間成本。

在 TAO 的 cv_samples 里提供多個物件檢測算法,包括 detectnet_v2、dssd、ssd、facenet、fast_rcnn、lprnet、mask_rcnn、retinanet、unet、ssd、yolo_v4等十多個物件檢測范例,每一個流程與本系列前一個 “圖像分類的模型訓練” 的范例是一致的,因此這里只挑選目前普及度較高的 ssd 神經(jīng)網(wǎng)絡進行示范就行。

首先進入 Jupyter 操作界面,打開 cv_samples/ssd/ssd.ipynb腳本,然后按照以下步驟逐步執(zhí)行:

0. 環(huán)境變量配置與路徑映射(Setup env variables and map drives):

在系列文章 “視覺類訓練腳本的環(huán)境配置” 內(nèi)有詳細的講解,這里只要對下面兩變量進行處理就可以:

  • %env KEY=<您的NGC秘鑰>

  • “%envLOCAL_PROJECT_DIR=YOUR_LOCAL_PROJECT_DIR_PATH”改成“os.environ["LOCAL_PROJECT_DIR"] = os.getcwd()”

然后執(zhí)行這部分的 4 個指令塊

  1. 安裝 TAO 啟動器(Install the TAO launcher):

跳過第一個安裝指令塊,執(zhí)行“!tao info”指令塊就行。

2. 準備數(shù)據(jù)集與預訓練模型(Preparedataset and pre-trained model)

數(shù)據(jù)集處理通常是模型訓練過程比較消耗人力的步驟。這里推薦不使用腳本里的步驟去下載與解壓縮,因為這里指向的下載位置在國外網(wǎng)站,這對大部分使用者是很困擾的,因此最好自行手動下載處理。

(1) TAO 的物件檢測模型訓練支持 KITTI 標注格式,這里使用的范例數(shù)據(jù)集與系列文章“視覺數(shù)據(jù)格式處理與增強”是同一套,如果前面實驗已將下載的話就復制一份過來就行,也可以重新在https://pan.baidu.com/s/1WcRt9ONqsYhLRmL8Rg8_YQ(密碼855n),下載 data_object_image_2.zip 與 data_object_label_2.zip 到 ssd.ipynb 相同目錄下,然后執(zhí)行以下指令進行解壓縮:

cd ~/tao/cv_samples/ssd  # 請根據(jù)您實際路徑unzip -u data_object_image_2.zip -d dataunzip-udata_object_label_2.zip-ddata

會在這個工作目錄下生成 data/training/image_2、data/training/label_2data/testing三個子目錄,其中訓練用數(shù)據(jù)量為 7481 張圖片、測試數(shù)據(jù)量為 7518 張。

如果有自己的數(shù)據(jù)集想要轉(zhuǎn)到 TAO 來進行訓練,除了先將標注格式轉(zhuǎn)成 KITTI 之外,最好也遵循上面的路徑結(jié)構,這樣就不需修改 spec 目錄下相關配置文件里面的設定值,對初學者是最便利的方式。

(1) 接著調(diào)用 generate_val_dataset.py,從訓練數(shù)據(jù)中提取 10% 內(nèi)容作為校驗用途,存放在 data/val 目錄,于是在 data/training 下面的圖像與標注文件數(shù)量就剩下 6733 個。然后執(zhí)行 “2.3Generate tfrecords” 指令塊,將訓練與校驗數(shù)據(jù)集都轉(zhuǎn)成 tfrecords 格式,分別存放在對應的路徑之下。

(2) 如果要配合遷移學習功能的話,接下來就是從 NGC 下載合適的預訓練模型。這里選擇的是 “nvidia/tao/pretrained_object_detection:resnet18”,最終下載的模型文件為 89MB 大小的 resnet_18.hdf5 模型文件。

只要這個數(shù)據(jù)集整理步驟做得完整,后面的部分就會很簡單。

3. 提供訓練用配置文件(Providetraining specification)

在 TAO 所有范例里,配置文件是所有內(nèi)容的精華之處,這必須由專業(yè)算法工程師群進行調(diào)試,不僅要這些神經(jīng)網(wǎng)絡的結(jié)構與算法有足夠深入的了解,還需要經(jīng)過足夠長的重復調(diào)試過程,才能調(diào)試出一個夠完整的優(yōu)化參數(shù)組合,這部分是英偉達非常龐大精英人力與成本的所提煉出來的精髓。

物件檢測應用的設定組,比前面的圖像分類要復雜很多,雖然初學者沒有能力去做細節(jié)參數(shù)的調(diào)整,但還是得了解一下主要結(jié)構,對于學習深度神經(jīng)網(wǎng)絡會有很大的幫助。

在 ssd 項目的 specs 目錄下有 5 個配置文件,其中與訓練相關的有 4 個,但實際使用到的就是ssd_train_resnet18_kitti.txt與ssd_retrain_resnet18_kitti.txt這兩個配置文件。

前者是提供給首次訓練模型時使用,后者是對修剪過的模型進行再訓練時使用,兩者的內(nèi)容幾乎一樣,主要差異在配合遷移學習功能的部分,前者使用“pretrain_model_path”指向從NGC下載的預訓練模型,后者使用“pruned_model_path”指向后面會操作的 “修剪過的模型”,其他參數(shù)都一樣。

現(xiàn)在就以 ssd_train_resnet18_kitti.txt 配置文件來做說明,里面總共有 6 個參數(shù)組:

(1) ssd_config:

這是根據(jù)網(wǎng)絡種類所命名,不同網(wǎng)絡的配置組內(nèi)容都不太一樣,例如 yolov3 范例的配置組為 “yolov3_config”,以此類推。每種神經(jīng)網(wǎng)絡都有截然不同的參數(shù)內(nèi)容,在 ssd 網(wǎng)絡有 12 個參數(shù)的設定,而 yolo_v4 網(wǎng)絡有將近 20 個,所以網(wǎng)絡之間的配置是不能套用或互換的。如果未來要開發(fā)自己的特殊模型,最好從現(xiàn)有的 20 范例里面去挑選,就能以該網(wǎng)絡的配置文件為基礎進行修改。

關于這個配置組的內(nèi)容就不多時間去說明,初學者先不要貿(mào)然去修改,以免訓練過程發(fā)生不可預期的錯誤,或者模型效果不好。

(2) training_config:

執(zhí)行訓練時的一些參數(shù)設定,這是使用者能進行調(diào)整的部分,包括以下部分:

  • batch_size_per_gpu:根據(jù)執(zhí)行訓練的GPU總顯存進行調(diào)整

  • num_epochs:訓練回合數(shù),這里設定為80

  • enable_qat:開啟QAT訓練模式,這里預設值為 ”false”,表示不開啟

  • checkpoint_interval:每多少回合生成一次模型文件,這里預設值為1

  • learning_rate、regularizer 與 optimizer:如果對 ssd 有深入了解的,可以進一步調(diào)整。

(3) evaluation_config:

這些存放模型評估的一些參數(shù),可以根據(jù)計算設備的顯存值調(diào)整 batch_size 大小,不過這些并不影響訓練的結(jié)果。

(4) nms_config:

NMS (Non-maximumsuppression) 非極大抑制應用的目的,是要消除多余的框,找到最佳的物體檢查位置。

(5) augmentation_config:

這部分的參數(shù)內(nèi)容請參考系類文章 “視覺類的數(shù)據(jù)增強”,有詳細的說明。雖然沒辦法進入 TAO 源碼(未開放)去確認,但這項參數(shù)設定組應該顯示在物件檢測模型訓練過程中,并將“數(shù)據(jù)增強”功能加進來,這對提高模型精準度會起到很大的效果。

(6) dataset_config:

這里最主要配置數(shù)據(jù)源的路徑,以及類別 “key:value” 對的映射關系;

  • 一組 data_source:

里面包含 tfrecords_path 與 image_directory_path 兩個路徑設定;

  • 多組 target_class_mapping:

每一組對應的 “key” 是數(shù)據(jù)集的原始類別名稱,后面映射的 “value” 是訓練后模型的識別分類。

例如這里使用的 KITTI 數(shù)據(jù)集中,原始分類有 “car/ van/cyclist/ person_sitting/ pedestrian/ DontCare/ tram/ truck/ misc” 等 9 種分類,經(jīng)過映射后只保留 “Car/cyclist/ pedestrian” 三個分類,沒有在映射組里的分類就會忽略,例如 truck、misc 等。

如果使用自己的數(shù)據(jù)集訓練模型,這部分需要自行調(diào)整到合適的類別對應,否則訓練的結(jié)果也不能實現(xiàn)您要達到的識別效果。

  • 一組 validation_data_sources:

包括 label_directory_path 與 label_directory_path,存放校驗數(shù)據(jù)集的圖像與標注路徑。

以上 6 組配置在每個物件檢測模型的配置文件中都有,但是配置內(nèi)容不盡相同, TAO 已經(jīng)為所支持的網(wǎng)絡都提供優(yōu)化過的參數(shù)內(nèi)容,初學者只要直接使用就可以,等日后有更深入的掌握,再試著去修改這些參數(shù)。

原文標題:NVIDIA Jetson Nano 2GB 系列文章(61):物件檢測的模型訓練與優(yōu)化

文章出處:【微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡

    關注

    42

    文章

    4838

    瀏覽量

    107836
  • 檢測
    +關注

    關注

    5

    文章

    4864

    瀏覽量

    94165
  • 模型
    +關注

    關注

    1

    文章

    3755

    瀏覽量

    52125

原文標題:NVIDIA Jetson Nano 2GB 系列文章(61):物件檢測的模型訓練與優(yōu)化

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業(yè)解決方案】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何訓練自己的AI模型——RT-Thread×富瀚微FH8626V300L模型訓練部署教程 | 技術集結(jié)

    面對消費電子中紛繁的智能檢測需求,如何讓算法持續(xù)進化?富瀚微最新發(fā)布的FH86X6V300芯片AI訓練教程,以FH8626V300L為硬件核心,手把手帶您走通從模型訓練到端側(cè)部署的完整
    的頭像 發(fā)表于 02-09 11:51 ?397次閱讀
    如何<b class='flag-5'>訓練</b>自己的AI<b class='flag-5'>模型</b>——RT-Thread×富瀚微FH8626V300L<b class='flag-5'>模型</b><b class='flag-5'>訓練</b>部署教程 | 技術集結(jié)

    訓練到推理:大模型算力需求的新拐點已至

    在大模型產(chǎn)業(yè)發(fā)展的早期階段,行業(yè)焦點主要集中在大模型訓練所需的算力投入。一個萬億參數(shù)大模型訓練可能需要數(shù)千張GPU芯片連續(xù)運行數(shù)月,成本高
    的頭像 發(fā)表于 02-05 16:07 ?839次閱讀
    從<b class='flag-5'>訓練</b>到推理:大<b class='flag-5'>模型</b>算力需求的新拐點已至

    在Ubuntu20.04系統(tǒng)中訓練神經(jīng)網(wǎng)絡模型的一些經(jīng)驗

    , batch_size=512, epochs=20)總結(jié) 這個核心算法中的卷積神經(jīng)網(wǎng)絡結(jié)構和訓練過程,是用來對MNIST手寫數(shù)字圖像進行分類的。模型將圖像作為輸入,通過卷積和池化層提取圖像的特征,然后通過全連接層進行分類預測。訓練
    發(fā)表于 10-22 07:03

    ai_cube訓練模型最后部署失敗是什么原因?

    ai_cube訓練模型最后部署失敗是什么原因?文件保存路徑里也沒有中文 查看AICube/AI_Cube.log,看看報什么錯?
    發(fā)表于 07-30 08:15

    沐曦MXMACA軟件平臺在大模型訓練方面的優(yōu)化效果

    在如今的人工智能浪潮中,大規(guī)模語言模型(上百億乃至千億參數(shù))正迅速改變著我們的工作和生活。然而,訓練這些龐大的模型往往面臨“算力不足、顯存不夠用、通信太慢”等諸多挑戰(zhàn)。
    的頭像 發(fā)表于 07-03 14:09 ?2258次閱讀
    沐曦MXMACA軟件平臺在大<b class='flag-5'>模型</b><b class='flag-5'>訓練</b>方面的<b class='flag-5'>優(yōu)化</b>效果

    make sence成的XML文件能上傳到自助訓練模型上嗎?

    make sence成的XML文件能上傳到自助訓練模型上嗎
    發(fā)表于 06-23 07:38

    請問嘉楠平臺k230訓練的跌倒檢測模型里面的設置是怎么樣的?

    我想要了解K230所使用的跌倒檢測模型中的設置,例如人體檢測是如何實現(xiàn)的,在模型檢測中,人體的節(jié)點是多少?;蛘呦胝埥桃幌孪嚓P的文檔或者內(nèi)容在
    發(fā)表于 06-23 07:05

    海思SD3403邊緣計算AI數(shù)據(jù)訓練概述

    模型,將模型轉(zhuǎn)化為嵌入式AI模型,模型升級AI攝像機,進行AI識別應用。 AI訓練模型是不斷迭
    發(fā)表于 04-28 11:11

    AI原生架構升級:RAKsmart服務器在超大規(guī)模模型訓練中的算力突破

    近年來,隨著千億級參數(shù)模型的崛起,AI訓練對算力的需求呈現(xiàn)指數(shù)級增長。傳統(tǒng)服務器架構在應對分布式訓練、高并發(fā)計算和顯存優(yōu)化等場景時逐漸顯露瓶頸。而RAKsmart為超大規(guī)模
    的頭像 發(fā)表于 04-24 09:27 ?799次閱讀

    恩智浦eIQ Time Series Studio工具使用教程之模型訓練

    大家好,eIQ Time SeriesStudio又和大家見面啦!本章為大家?guī)砉ぞ吆诵牟糠?模型訓練。
    的頭像 發(fā)表于 03-25 15:25 ?1722次閱讀
    恩智浦eIQ Time Series Studio工具使用教程之<b class='flag-5'>模型</b><b class='flag-5'>訓練</b>

    請問如何在imx8mplus上部署和運行YOLOv5訓練模型

    我正在從事 imx8mplus yocto 項目。我已經(jīng)在自定義數(shù)據(jù)集上的 YOLOv5 上訓練了對象檢測模型。它在 ubuntu 電腦上運行良好?,F(xiàn)在我想在我的 imx8mplus 板上運行該
    發(fā)表于 03-25 07:23

    數(shù)據(jù)標注服務—奠定大模型訓練的數(shù)據(jù)基石

    數(shù)據(jù)標注是大模型訓練過程中不可或缺的基礎環(huán)節(jié),其質(zhì)量直接影響著模型的性能表現(xiàn)。在大模型訓練中,數(shù)據(jù)標注承擔著將原始數(shù)據(jù)轉(zhuǎn)化為機器可理解、可學
    的頭像 發(fā)表于 03-21 10:30 ?3338次閱讀

    標貝數(shù)據(jù)標注服務:奠定大模型訓練的數(shù)據(jù)基石

    數(shù)據(jù)標注是大模型訓練過程中不可或缺的基礎環(huán)節(jié),其質(zhì)量直接影響著模型的性能表現(xiàn)。在大模型訓練中,數(shù)據(jù)標注承擔著將原始數(shù)據(jù)轉(zhuǎn)化為機器可理解、可學
    的頭像 發(fā)表于 03-21 10:27 ?1121次閱讀
    標貝數(shù)據(jù)標注服務:奠定大<b class='flag-5'>模型</b><b class='flag-5'>訓練</b>的數(shù)據(jù)基石

    利用RAKsmart服務器托管AI模型訓練的優(yōu)勢

    AI模型訓練需要強大的計算資源、高效的存儲和穩(wěn)定的網(wǎng)絡支持,這對服務器的性能提出了較高要求。而RAKsmart服務器憑借其核心優(yōu)勢,成為托管AI模型訓練的理想選擇。下面,AI部落小編為
    的頭像 發(fā)表于 03-18 10:08 ?702次閱讀

    訓練好的ai模型導入cubemx不成功怎么處理?

    訓練好的ai模型導入cubemx不成功咋辦,試了好幾個模型壓縮了也不行,ram占用過大,有無解決方案?
    發(fā)表于 03-11 07:18