深度学习基础知识 Dataset 与 DataLoade的用法解析

深度学习基础知识 Dataset 与 DataLoade的用法解析

  • 1、Dataset
  • 2、DataLoader
    • 参数设置:
    • 1、pin_memory
    • 2、num_workers
    • 3、collate_fn
      • 分类任务
      • 目标检测任务

1、Dataset

深度学习基础知识 Dataset 与 DataLoade的用法解析_第1张图片
代码:

import torch
from torch.utils import data



class MyDataset(torch.utils.data.Dataset):
    def __init__(self):
        self.data=torch.arange(0,20)
    
    def __getitem__(self,index):
        x=self.data[index]
        y=x * 2
        return y
    
    def __len__(self):
        return len(self.data)
    
# 定义DataLoader
dataset=MyDataset()
print(len(dataset))
print(dataset[3])

打印结果:
在这里插入图片描述

2、DataLoader

深度学习基础知识 Dataset 与 DataLoade的用法解析_第2张图片

import torch
from torch.utils import data

class MyDateset(torch.utils.data.Dataset):
    def __init__(self):
        self.data=torch.arange(0,20)

    def __getitem__(self,index):
        x=self.data[index]
        y=x * 2
        return y
    def __len__(self):
        return len(self.data)
    

# 定义DataLoader
dataset=MyDateset()
print(len(dataset))
print(dataset[3])

dataloader=torch.utils.data.DataLoader(dataset,shuffle=True,batch_size=4)
print(len(dataloader))

for x in dataloader:
    print(x)

打印结果如下所示:
深度学习基础知识 Dataset 与 DataLoade的用法解析_第3张图片

参数设置:

深度学习基础知识 Dataset 与 DataLoade的用法解析_第4张图片

1、pin_memory

深度学习基础知识 Dataset 与 DataLoade的用法解析_第5张图片

2、num_workers

深度学习基础知识 Dataset 与 DataLoade的用法解析_第6张图片

3、collate_fn

分类任务

深度学习基础知识 Dataset 与 DataLoade的用法解析_第7张图片
深度学习基础知识 Dataset 与 DataLoade的用法解析_第8张图片

目标检测任务

在进行目标检测任务中,需要重写collate方法,并将方法传入到DataLoader中
深度学习基础知识 Dataset 与 DataLoade的用法解析_第9张图片

你可能感兴趣的:(深度学习,人工智能)