深度学习入门笔记(9)——dataset
dataset是用来对数据打包的抽象类,结构简单,直接举一个例子:
class LoadDataset(Dataset):
def __init__(self, file_path=[], crop_size=None):
.......................
.......................
.......................
.......................
.......................
def __getitem__(self, index):
# 一张张读取标签和原图路径
img = self.imgs[index]
label = self.labels[index]
.......................
.......................
.......................
.......................
.......................
sample = {'img': img, 'label': label}
# LoadDataset返回值为一个字典
return sample
def __len__(self):
return len(self.imgs)
def read_file(self, path):
.......................
.......................
.......................
.......................
.......................
return file_path_list
def img_transform(self, img, label):
label = np.array(label) # 标签转变为np数组形式
.......................
.......................
.......................
.......................
.......................
return img, label
从上面代码,我们可以简单看出,在定义过程中只需要定义" init "、“getitem” 、“len”(格式原因打不出来小短线),这就可以实现数据集的定义。
|