import torch.utils.data as data
from PIL import Image
import osclass my_dataloader_with_det_label(data.Dataset):def __init__(self, images_path):ain_list = [os.path.join(images_path, i) for i in os.listdir(images_path)]self.size = 256self.data_list = ain_listprint("Total training examples:", ain_list))def __getitem__(self, index):# get imagedata_path = self.data_list[index]data = Image.open(data_lowlight_path).convert('RGB')data = size((self.size,self.size), Image.ANTIALIAS)data = (np.asarray(data_lowlight)/255.0) data = torch.from_numpy(data_lowlight).float()# get labellabel_path = place('images', 'labels')label_path = label_path[:-3] + 'txt'with open(label_path) as f:l = [x.split() for x ad().strip().splitlines() if len(x)]nl = len(l)label = np.zeros((nl, 6))label[:, 1:] = np.array(l, dtype=np.float32)return data.permute(2,0,1), torch.from_numpy(label).float()def __len__(self):return len(self.data_list)@staticmethoddef collate_fn(batch):img, label = zip(*batch) # transposedfor i, l in enumerate(label):l[:, 0] = i # add target image index for build_targets()return {'img': torch.stack(img, 0), 'label': torch.cat(label, 0)}train_dataset = my_dataloader_with_det_label(images_path)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_sizeain_batch_size, shuffle=True, num_workers=config.num_workers, pin_memory=True, collate_fn=llate_fn)
本文发布于:2024-01-30 02:55:02,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170655450418733.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |