zhuangdizhu / FedGen

Code and data accompanying the FedGen paper
233 stars 68 forks source link

Unable to perform Mnist experiments #25

Open znagzanglong opened 1 year ago

znagzanglong commented 1 year ago

when i'm ready to run "python main.py --dataset Mnist-alpha0.01-ratio0.05 --algorithm FedAvg --batch_size 32 --num_glob_iters 200 --local_epochs 20 --num_users 10 --lamda 1 --learning_rate 0.01 --model cnn --personal_learning_rate 0.01 --times 3"I got the following problem。How can I solve it.

Average Global Accurancy = 0.0950, Loss = 2.31. Traceback (most recent call last): File "C:\kust\xuesu\code\FedGen-main\FedGen-main\FLAlgorithms\users\userbase.py", line 163, in get_next_train_batch (X, y) = next(self.iter_trainloader) File "C:\Users\Administrator\anaconda3\envs\FedGen\lib\site-packages\torch\utils\data\dataloader.py", line 633, in next data = self._next_data() File "C:\Users\Administrator\anaconda3\envs\FedGen\lib\site-packages\torch\utils\data\dataloader.py", line 676, in _next_data index = self._next_index() # may raise StopIteration File "C:\Users\Administrator\anaconda3\envs\FedGen\lib\site-packages\torch\utils\data\dataloader.py", line 623, in _next_index return next(self._sampler_iter) # may raise StopIteration StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\kust\xuesu\code\FedGen-main\FedGen-main\main.py", line 85, in main(args) File "C:\kust\xuesu\code\FedGen-main\FedGen-main\main.py", line 42, in main run_job(args, i) File "C:\kust\xuesu\code\FedGen-main\FedGen-main\main.py", line 37, in run_job server.train(args) File "C:\kust\xuesu\code\FedGen-main\FedGen-main\FLAlgorithms\servers\serveravg.py", line 35, in train user.train(glob_iter, personalized=self.personalized) #* user.train_samples File "C:\kust\xuesu\code\FedGen-main\FedGen-main\FLAlgorithms\users\useravg.py", line 23, in train result =self.get_next_train_batch(count_labels=count_labels) File "C:\kust\xuesu\code\FedGen-main\FedGen-main\FLAlgorithms\users\userbase.py", line 167, in get_next_train_batch (X, y) = next(self.iter_trainloader) File "C:\Users\Administrator\anaconda3\envs\FedGen\lib\site-packages\torch\utils\data\dataloader.py", line 633, in next data = self._next_data() File "C:\Users\Administrator\anaconda3\envs\FedGen\lib\site-packages\torch\utils\data\dataloader.py", line 676, in _next_data index = self._next_index() # may raise StopIteration File "C:\Users\Administrator\anaconda3\envs\FedGen\lib\site-packages\torch\utils\data\dataloader.py", line 623, in _next_index return next(self._sampler_iter) # may raise StopIteration StopIteration

threeStoneLei1 commented 11 months ago

I think this problem is caused by alpha0.01. Because when I run alpha 0.1 and 1 this is normal.

LWJ1632399229 commented 5 days ago

So how to solve the problem when alpha is smaller such as 0.05?