from datasets import load_dataset import torch import config from model import load_image from diffusers.utils.loading_utils import load_image as dl_to_pil def my_collate(batch): try: img = [item['image'] for item in batch] img = torch.cat([load_image(pil_image=i, image_file=None) for i in img]) text = ['''<|user|><|end|><|assistant|>'''+item['prompt'] for item in batch] except Exception as e: print(e) return None return {'image':img, 'text':text} ds = load_dataset("stylebreeder/stylebreeder", split='2M_sample', streaming=True).shuffle(seed=7, buffer_size=1) dataloader = torch.utils.data.DataLoader(ds, num_workers=32, collate_fn=my_collate, batch_size=config.batch_size)