Feeding several datasets(with different lengths) seperately into your model

Hello all
I am new to Pytorch.
I have three datasets,each has different lengths. I have a model with three input pipelines (similar to Siamese, but three input pipelines) and therefore, I have to separately feed the data and I cannot concatenate them. The first one has around 600 ,second one has 3000 and last one has 40000 samples. In each training loop, I want to go through them and feed them into my model.

I defined three datasets and three dataloaders in pytorch; however, I am not sure how to iterate over them correctly? Since each has different length

In the case of two datasets, I have tried cycle over the smaller dataset and worked. But it is not working for three.

for step, ((images_Di, labels_Di),(images_Dj, labels_Dj)) in enumerate(zip(loader_D2, cycle(loader_D1))):

I appreciate if any one help me how is best way to handle them.

I think you could zip the three dataloaders in the same way.

How does cycle implement the cycling operation?