MCPcopy
hub / github.com/ultralytics/yolov5 / create_dataloader

Function create_dataloader

utils/dataloaders.py:103–152  ·  view source on GitHub ↗
(path,
                      imgsz,
                      batch_size,
                      stride,
                      single_cls=False,
                      hyp=None,
                      augment=False,
                      cache=False,
                      pad=0.0,
                      rect=False,
                      rank=-1,
                      workers=8,
                      image_weights=False,
                      quad=False,
                      prefix='',
                      shuffle=False)

Source from the content-addressed store, hash-verified

101
102
103def create_dataloader(path,
104 imgsz,
105 batch_size,
106 stride,
107 single_cls=False,
108 hyp=None,
109 augment=False,
110 cache=False,
111 pad=0.0,
112 rect=False,
113 rank=-1,
114 workers=8,
115 image_weights=False,
116 quad=False,
117 prefix='',
118 shuffle=False):
119 if rect and shuffle:
120 LOGGER.warning('WARNING ⚠️ --rect is incompatible with DataLoader shuffle, setting shuffle=False')
121 shuffle = False
122 with torch_distributed_zero_first(rank): # init dataset *.cache only once if DDP
123 dataset = LoadImagesAndLabels(
124 path,
125 imgsz,
126 batch_size,
127 augment=augment, # augmentation
128 hyp=hyp, # hyperparameters
129 rect=rect, # rectangular batches
130 cache_images=cache,
131 single_cls=single_cls,
132 stride=int(stride),
133 pad=pad,
134 image_weights=image_weights,
135 prefix=prefix)
136
137 batch_size = min(batch_size, len(dataset))
138 nd = torch.cuda.device_count() # number of CUDA devices
139 nw = min([os.cpu_count() // max(nd, 1), batch_size if batch_size > 1 else 0, workers]) # number of workers
140 sampler = None if rank == -1 else distributed.DistributedSampler(dataset, shuffle=shuffle)
141 loader = DataLoader if image_weights else InfiniteDataLoader # only DataLoader allows for attribute updates
142 generator = torch.Generator()
143 generator.manual_seed(6148914691236517205 + RANK)
144 return loader(dataset,
145 batch_size=batch_size,
146 shuffle=shuffle and sampler is None,
147 num_workers=nw,
148 sampler=sampler,
149 pin_memory=PIN_MEMORY,
150 collate_fn=LoadImagesAndLabels.collate_fn4 if quad else LoadImagesAndLabels.collate_fn,
151 worker_init_fn=seed_worker,
152 generator=generator), dataset
153
154
155class InfiniteDataLoader(dataloader.DataLoader):

Callers 4

runFunction · 0.90
trainFunction · 0.90
runFunction · 0.90
trainFunction · 0.90

Calls 2

LoadImagesAndLabelsClass · 0.85

Tested by

no test coverage detected