国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

這篇具有很好參考價(jià)值的文章主要介紹了第Y2周:訓(xùn)練自己的數(shù)據(jù)集。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

  • ?? 本文為??365天深度學(xué)習(xí)訓(xùn)練營 中的學(xué)習(xí)記錄博客
  • ?? 原作者:K同學(xué)啊|接輔導(dǎo)、項(xiàng)目定制
  • 我的環(huán)境:
    第Y2周:訓(xùn)練自己的數(shù)據(jù)集

一、準(zhǔn)備自己的數(shù)據(jù)集

數(shù)據(jù)集來源:kaggle水果檢測(cè)

  • 目錄結(jié)構(gòu)如下:
    第Y2周:訓(xùn)練自己的數(shù)據(jù)集

1. 編寫split_train_val.py文件

# 劃分train、test、val文件
import os
import random
import argparse

parser = argparse.ArgumentParser()
# xml文件的地址,根據(jù)自己的數(shù)據(jù)進(jìn)行修改 xml一般存放在Annotations下
parser.add_argument('--xml_path', default='annotations', type=str, help='input txt label path')
# 數(shù)據(jù)集的劃分,地址選擇自己數(shù)據(jù)下的ImageSets/Main
parser.add_argument('--txt_path', default='ImageSets/Main', type=str, help='output txt label path')
opt = parser.parse_args()

trainval_percent = 1
train_percent = 0.9
xmlfilepath = opt.xml_path
txtsavepath = opt.txt_path
total_xml = os.listdir(xmlfilepath)
if not os.path.exists(txtsavepath):
    os.makedirs(txtsavepath)

num = len(total_xml)
list_index = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list_index, tv)
train = random.sample(trainval, tr)

file_trainval = open(txtsavepath + '/trainval.txt', 'w')
file_test = open(txtsavepath + '/test.txt', 'w')
file_train = open(txtsavepath + '/train.txt', 'w')
file_val = open(txtsavepath + '/val.txt', 'w')


for i in list_index:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        file_trainval.write(name)
        if i in train:
            file_train.write(name)
        else:
            file_val.write(name)
    else:
        file_test.write(name)

file_trainval.close()
file_train.close()
file_val.close()
file_test.close()

這個(gè)文件的作用主要是劃分訓(xùn)練以及驗(yàn)證集的文件名

  • 執(zhí)行之后會(huì)生成如下文件:

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

  • 文件中是具體訓(xùn)練和驗(yàn)證的文件名:
    第Y2周:訓(xùn)練自己的數(shù)據(jù)集

2.生成訓(xùn)練文件索引文件

  • 主要依靠voc_label.py,代碼如下:
import xml.etree.ElementTree as ET
import os
from os import getcwd

sets = ['train', 'val', 'test']
classes = ["banana", "snake fruit", "dragon fruit", "pineapple"]  # 改成自己的類別
abs_path = os.getcwd()
print(abs_path)


def convert(size, box):
    dw = 1. / (size[0])
    dh = 1. / (size[1])
    x = (box[0] + box[1]) / 2.0 - 1
    y = (box[2] + box[3]) / 2.0 - 1
    w = box[1] - box[0]
    h = box[3] - box[2]
    x = x * dw
    w = w * dw
    y = y * dh
    h = h * dh
    return x, y, w, h



def convert_annotation(image_id):
    in_file = open('./annotations/%s.xml' % (image_id), encoding='UTF-8')
    out_file = open('./labels/%s.txt' % (image_id), 'w')
    tree = ET.parse(in_file)
    root = tree.getroot()
    size = root.find('size')
    w = int(size.find('width').text)
    h = int(size.find('height').text)
    for obj in root.iter('object'):
        difficult = obj.find('difficult').text
        cls = obj.find('name').text
        if cls not in classes or int(difficult) == 1:
            continue

        cls_id = classes.index(cls)
        xmlbox = obj.find('bndbox')
        b = (float(xmlbox.find('xmin').text), float(xmlbox.find('xmax').text), float(xmlbox.find('ymin').text),
             float(xmlbox.find('ymax').text))
        b1, b2, b3, b4 = b
        # 標(biāo)注越界修正
        if b2 > w:
            b2 = w
        if b4 > h:
            b4 = h
        b = (b1, b2, b3, b4)
        bb = convert((w, h), b)
        out_file.write(str(cls_id) + " " + " ".join([str(a) for a in bb]) + '\n')


wd = getcwd()
for image_set in sets:
    if not os.path.exists('labels/'):
        os.makedirs('labels/')
    image_ids = open('./ImageSets/Main/%s.txt' % (image_set)).read().strip().split()
    list_file = open('./%s.txt' % (image_set),'w')
    for image_id in image_ids:
        list_file.write(abs_path + '/images/%s.png\n' % (image_id))
        convert_annotation(image_id)
    list_file.close()
  • 執(zhí)行之后,會(huì)生成如下文件:

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

  • 文件具體內(nèi)容如下:

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

二、創(chuàng)建訓(xùn)練yaml文件

train: ./paper_data/train.txt
val: ./paper_data/val.txt

nc: 4

names: ["banana", "snake fruit", "dragon fruit", "pineapple"]

三、開始訓(xùn)練

python train.py --img 900 --batch 2 --epoch 100 --data data/test.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt

  • 訓(xùn)練過程:

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

  • 訓(xùn)練結(jié)果如下:

labels:

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

  • predict:

第Y2周:訓(xùn)練自己的數(shù)據(jù)集

總結(jié):
這周學(xué)會(huì)了如何使用yolov5訓(xùn)練自己的數(shù)據(jù)集,再進(jìn)一步可以考慮修改模型!
注:近期在忙著寫小論文,很多需要復(fù)習(xí)的點(diǎn)先堆積著??文章來源地址http://www.zghlxwxcb.cn/news/detail-469043.html

到了這里,關(guān)于第Y2周:訓(xùn)練自己的數(shù)據(jù)集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • TransUnet訓(xùn)練自己的數(shù)據(jù)集

    TransUnet訓(xùn)練自己的數(shù)據(jù)集

    1.原始數(shù)據(jù)集如下圖所示分images和labels,若數(shù)據(jù)集是png/jpg....格式,首先需要將每一張圖的image和其對(duì)應(yīng)的label合并轉(zhuǎn)化為一個(gè).npz文件. train文件轉(zhuǎn)化為?train_npz文件;val轉(zhuǎn)化為test_vol_h5文件,如圖(注意這里訓(xùn)練集與測(cè)試集均轉(zhuǎn)化為.npz格式,需修改讀取文件的方法,具體是修改

    2023年04月12日
    瀏覽(17)
  • mmsegmentation 訓(xùn)練自己的數(shù)據(jù)集

    mmsegmentation 訓(xùn)練自己的數(shù)據(jù)集

    open-mmlab有許多非常實(shí)用的框架,其中目標(biāo)檢測(cè)的話mmdetection確實(shí)很實(shí)用。但語義分割的話當(dāng)屬mmsegmentation,這篇博客就是介紹如何用mmsegmentation訓(xùn)練自己的數(shù)據(jù)集。 mmdetection的環(huán)境mmsegmentation也可以用,有mmdetection環(huán)境的話就可以不用重新搭建了 給個(gè)代碼鏈接mmsegmentation mmsegm

    2024年02月06日
    瀏覽(18)
  • 使用MMDetection訓(xùn)練自己的數(shù)據(jù)集

    使用MMDetection訓(xùn)練自己的數(shù)據(jù)集

    本文主要闡述如何使用 mmdetection 訓(xùn)練自己的數(shù)據(jù),包括配置文件的修改,訓(xùn)練時(shí)的數(shù)據(jù)增強(qiáng),加載預(yù)訓(xùn)練權(quán)重以及繪制損失函數(shù)圖等。這里承接上一篇文章,默認(rèn)已經(jīng)準(zhǔn)備好了 COCO 格式數(shù)據(jù)集且已安裝 mmdetection ,環(huán)境也已經(jīng)配置完成。 這里說明一下,因?yàn)?mmdetection 更新至

    2024年02月06日
    瀏覽(23)
  • PaddleOCR訓(xùn)練自己模型(1)----數(shù)據(jù)準(zhǔn)備

    PaddleOCR訓(xùn)練自己模型(1)----數(shù)據(jù)準(zhǔn)備

    PaddleOCR開源代碼(下載的是2.6RC版本的,可以根據(jù)自己需求下載) 具體環(huán)境安裝就不詳細(xì)介紹了, 挺簡(jiǎn)單的,也挺多教程的。 二、數(shù)據(jù)集準(zhǔn)備及制作 (1)下載完代碼及配置完環(huán)境之后,運(yùn)行PPOCRLabel.py文件,打開標(biāo)注軟件( 2.7版本的會(huì)運(yùn)行報(bào)錯(cuò),解決方案如下 )解決PPOCR

    2024年04月16日
    瀏覽(25)
  • 使用SwinUnet訓(xùn)練自己的數(shù)據(jù)集

    使用SwinUnet訓(xùn)練自己的數(shù)據(jù)集

    參考博文: https://blog.csdn.net/qq_37652891/article/details/123932772 遙感圖像多類別語義分割,總共分為7類(包括背景) image: label_rgb label(這里并不是全黑,其中的類別取值為 0,1,2,3,4,5,6 ),此后的訓(xùn)練使用的也是這樣的數(shù)據(jù) 數(shù)據(jù)地址 百度云: https://pan.baidu.com/s/1zZHnZfBgVWxs6T

    2024年02月04日
    瀏覽(23)
  • detectron2訓(xùn)練自己的數(shù)據(jù)集

    detectron2訓(xùn)練自己的數(shù)據(jù)集

    ? Detectron2是Facebook AI Research的下一代庫,是一個(gè)提供最先進(jìn)的檢測(cè)和分割算法的平臺(tái)。它是Detectron和mask-benchmark的繼承者。Detectron是Facebook人工智能研究的軟件系統(tǒng),它實(shí)現(xiàn)了最先進(jìn)的目標(biāo)檢測(cè)算法,包括了Mask R-CNN,它是由python編寫的,由caffe2深度學(xué)習(xí)框架提供支持。 ? 在

    2024年02月02日
    瀏覽(17)
  • Mask RCNN訓(xùn)練自己的數(shù)據(jù)集

    Mask RCNN訓(xùn)練自己的數(shù)據(jù)集

    Mask RCNN作為實(shí)例分割的經(jīng)典算法,對(duì)于圖像分割的初學(xué)者來說,還是很有必要了解下的。 原mask rcnn的Tensorflow版本是1.13,這里提供tf2.5的mask rcnn的github源碼地址:https://github.com/zouyuelin/MASK_RCNN_2.5.0 目錄 一、制作數(shù)據(jù)集 1.下載安裝labelme ?2.標(biāo)注數(shù)據(jù)集 3.labelme數(shù)據(jù)集轉(zhuǎn)化 二、模

    2024年02月15日
    瀏覽(15)
  • PointNet++訓(xùn)練自己的數(shù)據(jù)集(附源碼)

    PointNet++訓(xùn)練自己的數(shù)據(jù)集(附源碼)

    本文針對(duì)PointNet++強(qiáng)大的三維點(diǎn)云分類功能,詳細(xì)講解怎么訓(xùn)練自己的數(shù)據(jù)集,在此之前,需要確保已經(jīng)能夠跑通源碼的訓(xùn)練和測(cè)試,如果沒有,請(qǐng)參考PointNet++的源碼運(yùn)行。 1.1. 在mytensor_shape_names.txt中配置自己的分類,以及分類名稱: 1.2. 在filelist.txt中填入對(duì)應(yīng)的不同類別的

    2024年01月20日
    瀏覽(16)
  • 【DETR】訓(xùn)練自己的數(shù)據(jù)集-實(shí)踐筆記

    【DETR】訓(xùn)練自己的數(shù)據(jù)集-實(shí)踐筆記

    DETR(Detection with TRansformers)是基于transformer的端對(duì)端目標(biāo)檢測(cè),無NMS后處理步驟,無anchor。 實(shí)現(xiàn)使用NWPUVHR10數(shù)據(jù)集訓(xùn)練DETR. NWPU數(shù)據(jù)集總共包含十種類別目標(biāo),包含650個(gè)正樣本,150個(gè)負(fù)樣本(沒有用到)。 代碼:https://github.com/facebookresearch/detr 1.數(shù)據(jù)集準(zhǔn)備 DETR需要的數(shù)據(jù)集格式

    2024年02月05日
    瀏覽(18)
  • YOLOv7——訓(xùn)練自己的數(shù)據(jù)集

    YOLOv7——訓(xùn)練自己的數(shù)據(jù)集

    論文地址:https://arxiv.org/abs/2207.02696 源碼地址:https://github.com/WongKinYiu/yolov7 下載好代碼包,解壓后配置環(huán)境,在終端直接下載requirements.txt的代碼就好 (本人環(huán)境:torch 1.8.0,當(dāng)然有一些tensorboard、wandb等工具包需要自己下載啦~) wandb安裝教程看這個(gè):wandb使用_ai-ai360的博客

    2024年02月11日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包