Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Labeled and Unlabeled dataloaders #69

Open
nysp78 opened this issue Oct 8, 2022 · 1 comment
Open

Labeled and Unlabeled dataloaders #69

nysp78 opened this issue Oct 8, 2022 · 1 comment

Comments

@nysp78
Copy link

nysp78 commented Oct 8, 2022

Hello,
I want to ask how you handle the dataloading when the unlabeled data is more than the labeled. I have read a couple of approaches for this. The first is, as you have done, to define an epoch as the passing of all unlabeled data from the network, but with this the labeled data will be passed from the network multiple times in an epoch. The second approach is to use a sampler to sample at each training step equal amount of unlabeled data to match the size of the labeled data, so to have 2 dataloaders with the same size. Which of these 2 techniques would force the model to perform better? Generally , I'm a bit confused on how to construct the dataloaders of labeled and unlabeled data in a semi supervised setting. Any hints will be appreciated!

Thanks in advance.

@charlesCXK
Copy link
Owner

Hi, I recommend using the first one: define an epoch as the passing of all unlabeled data from the network.

To construct the dataloaders, I use the argument config.max_samples to specify the maximum samples in an epoch.

config.max_samples, unsupervised=unsupervised)

The labeled set will be sampled repeatedly until the maximum number of samples is met.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants