哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程14.6之對(duì)象檢測(cè)數(shù)據(jù)集

PyTorch教程14.6之對(duì)象檢測(cè)數(shù)據(jù)集

2023-06-05 | pdf | 0.32 MB | 次下載 | 免費(fèi)

資料介紹

目標(biāo)檢測(cè)領(lǐng)域沒(méi)有MNIST和Fashion-MNIST這樣的小型數(shù)據(jù)集。為了快速演示對(duì)象檢測(cè)模型,我們收集并標(biāo)記了一個(gè)小型數(shù)據(jù)集。首先,我們從辦公室拍攝了免費(fèi)香蕉的照片,并生成了 1000 張不同旋轉(zhuǎn)和大小的香蕉圖像。然后我們將每個(gè)香蕉圖像放置在一些背景圖像上的隨機(jī)位置。最后,我們?yōu)閳D像上的那些香蕉標(biāo)記了邊界框。

14.6.1。下載數(shù)據(jù)集

帶有所有圖像和 csv 標(biāo)簽文件的香蕉檢測(cè)數(shù)據(jù)集可以直接從互聯(lián)網(wǎng)上下載。

%matplotlib inline
import os
import pandas as pd
import torch
import torchvision
from d2l import torch as d2l

#@save
d2l.DATA_HUB['banana-detection'] = (
  d2l.DATA_URL + 'banana-detection.zip',
  '5de26c8fce5ccdea9f91267273464dc968d20d72')
%matplotlib inline
import os
import pandas as pd
from mxnet import gluon, image, np, npx
from d2l import mxnet as d2l

npx.set_np()

#@save
d2l.DATA_HUB['banana-detection'] = (
  d2l.DATA_URL + 'banana-detection.zip',
  '5de26c8fce5ccdea9f91267273464dc968d20d72')

14.6.2。讀取數(shù)據(jù)集

我們將在 read_data_bananas下面的函數(shù)中讀取香蕉檢測(cè)數(shù)據(jù)集。數(shù)據(jù)集包括一個(gè) csv 文件,用于對(duì)象類(lèi)標(biāo)簽和左上角和右下角的地面實(shí)況邊界框坐標(biāo)。

#@save
def read_data_bananas(is_train=True):
  """Read the banana detection dataset images and labels."""
  data_dir = d2l.download_extract('banana-detection')
  csv_fname = os.path.join(data_dir, 'bananas_train' if is_train
               else 'bananas_val', 'label.csv')
  csv_data = pd.read_csv(csv_fname)
  csv_data = csv_data.set_index('img_name')
  images, targets = [], []
  for img_name, target in csv_data.iterrows():
    images.append(torchvision.io.read_image(
      os.path.join(data_dir, 'bananas_train' if is_train else
             'bananas_val', 'images', f'{img_name}')))
    # Here `target` contains (class, upper-left x, upper-left y,
    # lower-right x, lower-right y), where all the images have the same
    # banana class (index 0)
    targets.append(list(target))
  return images, torch.tensor(targets).unsqueeze(1) / 256
#@save
def read_data_bananas(is_train=True):
  """Read the banana detection dataset images and labels."""
  data_dir = d2l.download_extract('banana-detection')
  csv_fname = os.path.join(data_dir, 'bananas_train' if is_train
               else 'bananas_val', 'label.csv')
  csv_data = pd.read_csv(csv_fname)
  csv_data = csv_data.set_index('img_name')
  images, targets = [], []
  for img_name, target in csv_data.iterrows():
    images.append(image.imread(
      os.path.join(data_dir, 'bananas_train' if is_train else
             'bananas_val', 'images', f'{img_name}')))
    # Here `target` contains (class, upper-left x, upper-left y,
    # lower-right x, lower-right y), where all the images have the same
    # banana class (index 0)
    targets.append(list(target))
  return images, np.expand_dims(np.array(targets), 1) / 256

通過(guò)使用read_data_bananas函數(shù)讀取圖像和標(biāo)簽,下面的BananasDataset類(lèi)將允許我們創(chuàng)建一個(gè)自定義Dataset實(shí)例來(lái)加載香蕉檢測(cè)數(shù)據(jù)集。

#@save
class BananasDataset(torch.utils.data.Dataset):
  """A customized dataset to load the banana detection dataset."""
  def __init__(self, is_train):
    self.features, self.labels = read_data_bananas(is_train)
    print('read ' + str(len(self.features)) + (f' training examples' if
       is_train else f' validation examples'))

  def __getitem__(self, idx):
    return (self.features[idx].float(), self.labels[idx])

  def __len__(self):
    return len(self.features)
#@save
class BananasDataset(gluon.data.Dataset):
  """A customized dataset to load the banana detection dataset."""
  def __init__(self, is_train):
    self.features, self.labels = read_data_bananas(is_train)
    print('read ' + str(len(self.features)) + (f' training examples' if
       is_train else f' validation examples'))

  def __getitem__(self, idx):
    return (self.features[idx].astype('float32').transpose(2, 0, 1),
        self.labels[idx])

  def __len__(self):
    return len(self.features)

最后,我們定義load_data_bananas函數(shù)為訓(xùn)練集和測(cè)試集返回兩個(gè)數(shù)據(jù)迭代器實(shí)例。對(duì)于測(cè)試數(shù)據(jù)集,不需要隨機(jī)讀取。

#@save
def load_data_bananas(batch_size):
  """Load the banana detection dataset."""
  train_iter = torch.utils.data.DataLoader(BananasDataset(is_train=True),
                       batch_size, shuffle=True)
  val_iter = torch.utils.data.DataLoader(BananasDataset(is_train=False),
                      batch_size)
  return train_iter, val_iter
#@save
def load_data_bananas(batch_size):
  """Load the banana detection dataset."""
  train_iter = gluon.data.DataLoader(BananasDataset(is_train=True),
                    batch_size, shuffle=True)
  val_iter = gluon.data.DataLoader(BananasDataset(is_train=False),
                   batch_size)
  return train_iter, val_iter

讓我們讀取一個(gè) minibatch 并打印這個(gè) minibatch 中圖像和標(biāo)簽的形狀。圖像小批量的形狀(批量大小、通道數(shù)、高度、寬度)看起來(lái)很熟悉:它與我們之前的圖像分類(lèi)任務(wù)相同。label minibatch的shape是(batch size,m, 5), 其中m是任何圖像在數(shù)據(jù)集中具有的最大可能數(shù)量的邊界框。

雖然 minibatch 的計(jì)算效率更高,但它要求所有圖像示例都包含相同數(shù)量的邊界框,以通過(guò)連接形成一個(gè) minibatch。通常,圖像可能具有不同數(shù)量的邊界框;因此,圖像少于m 邊界框?qū)⒈环欠ㄟ吔缈蛱畛?,直?m到達(dá)了。然后每個(gè)邊界框的標(biāo)簽用一個(gè)長(zhǎng)度為5的數(shù)組表示,數(shù)組的第一個(gè)元素是邊界框中物體的類(lèi),其中-1表示填充的非法邊界框。數(shù)組的其余四個(gè)元素是 (x,y)-邊界框左上角和右下角的坐標(biāo)值(范圍在0到1之間)。對(duì)于香蕉數(shù)據(jù)集,由于每張圖像上只有一個(gè)邊界框,我們有m=1.

batch_size, edge_size = 32, 256
train_iter, _ = load_data_bananas(batch_size)
batch = next(iter(train_iter))
batch[0].shape, batch[1].shape
read 1000 training examples
read 100 validation examples
(torch.Size([32, 3, 256, 256]), torch.Size([32, 1, 5]))
batch_size, edge_size = 32, 256
train_iter, _ = load_data_bananas(batch_size)
batch = next(iter(train_iter))
batch[0].shape, batch[1].shape
read 1000 training examples
read 100 validation examples
((32, 3, 256, 256), (32, 1, 5))

14.6.3。示范

讓我們演示十張帶有標(biāo)記的真實(shí)邊界框的圖像。我們可以看到香蕉的旋轉(zhuǎn)、大小和位置在所有這些圖像中都不同。當(dāng)然,這只是一個(gè)簡(jiǎn)單的人工數(shù)據(jù)集。實(shí)際上,真實(shí)世界的數(shù)據(jù)集通常要復(fù)雜得多。

imgs = (batch[0][:10].permute(0, 2, 3, 1)) / 255
axes = d2l.show_images(imgs, 2, 5, scale=2)
for ax, label in zip(axes, batch[1][:10]):
  d2l.show_bboxes(ax, [label[0

圖像 數(shù)據(jù)集 pytorch
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
加查县| 十堰市| 沿河| 东城区| 辽宁省| 北安市| 聂拉木县| 湾仔区| 大关县| 台前县| 太谷县| 榆林市| 太康县| 青浦区| 峨边| 大英县| 奉贤区| 昌吉市| 嘉鱼县| 西青区| 龙川县| 泽州县| 惠来县| 星座| 夏邑县| 伊宁市| 安溪县| 和田县| 赣州市| 景洪市| 巴彦县| 桂东县| 尼勒克县| 遂平县| 刚察县| 长海县| 丹江口市| 大埔区| 新沂市| 绥宁县| 松潘县|