royson / fedl2p

[NeurIPS'23] FedL2P: Federated Learning to Personalize
MIT License
18 stars 3 forks source link

I am facing PermissionError: [Errno 13] Permission denied: '/datasets'. #1

Open SulemanQB opened 2 months ago

SulemanQB commented 2 months ago

I ran it on multiple systems, the same issue. I created a Wandb account and project, and it's working. I also tried the offline option but no luck. I think I am doing some stupid mistake, can you kindly clarify. Thanks

Error below: wandb: W&B syncing is set to offline in this directory.
wandb: Run wandb online or set WANDB_MODE=online to enable cloud syncing. INFO:src.log:Saving user's config to ./wandb/offline-run-20240907_125632-2dt3tunp/files INFO:main:Run ID: 2dt3tunp INFO:main:Setting fixed seed: 1 Traceback (most recent call last): File "/home/suleman/Documents/fedl2p/main.py", line 59, in main() File "/home/suleman/Documents/fedl2p/main.py", line 42, in main prepare_fl_partitioned_dataset(ckp) File "/home/suleman/Documents/fedl2p/src/data/init.py", line 22, in prepare_fl_partitioned_dataset dataset.create_fl_partitions() File "/home/suleman/Documents/fedl2p/src/data/fl_dataset.py", line 153, in create_fl_partitions self._create_fl_partition(self.lda_alpha) File "/home/suleman/Documents/fedl2p/src/data/fl_dataset.py", line 192, in _create_fl_partition self.download() File "/home/suleman/Documents/fedl2p/src/data/cifar10_dataset.py", line 66, in download test_data = datasets.CIFAR10(root=self.data_dir, train=False, download=True) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/cifar.py", line 65, in init self.download() File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/cifar.py", line 141, in download download_and_extract_archive(self.url, self.root, filename=self.filename, md5=self.tgz_md5) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/utils.py", line 430, in download_and_extract_archive download_url(url, download_root, filename, md5) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/utils.py", line 120, in download_url os.makedirs(root, exist_ok=True) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/os.py", line 215, in makedirs makedirs(head, exist_ok=exist_ok) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/os.py", line 225, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/datasets' Traceback (most recent call last): File "/home/suleman/Documents/fedl2p/main.py", line 59, in main() File "/home/suleman/Documents/fedl2p/main.py", line 42, in main prepare_fl_partitioned_dataset(ckp) File "/home/suleman/Documents/fedl2p/src/data/init.py", line 22, in prepare_fl_partitioned_dataset dataset.create_fl_partitions() File "/home/suleman/Documents/fedl2p/src/data/fl_dataset.py", line 153, in create_fl_partitions self._create_fl_partition(self.lda_alpha) File "/home/suleman/Documents/fedl2p/src/data/fl_dataset.py", line 192, in _create_fl_partition self.download() File "/home/suleman/Documents/fedl2p/src/data/cifar10_dataset.py", line 66, in download test_data = datasets.CIFAR10(root=self.data_dir, train=False, download=True) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/cifar.py", line 65, in init self.download() File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/cifar.py", line 141, in download download_and_extract_archive(self.url, self.root, filename=self.filename, md5=self.tgz_md5) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/utils.py", line 430, in download_and_extract_archive download_url(url, download_root, filename, md5) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/site-packages/torchvision/datasets/utils.py", line 120, in download_url os.makedirs(root, exist_ok=True) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/os.py", line 215, in makedirs makedirs(head, exist_ok=exist_ok) File "/home/suleman/miniconda3/envs/fedl2p/lib/python3.10/os.py", line 225, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/datasets'

royson commented 2 months ago

hello! you are trying to download the data to data.args.path_to_data which by default points to /datasets. You can either create the /datasets directory or simply change the path to somewhere else. You can change the path by either passing data.args.path_to_data={YOUR PATH} or (recommended) editing the YAML file directly. Note that the data is partitioned federatedly and store in data.args.dataset_fl_root which by default also points to /datasets.

SulemanQB commented 2 months ago

hello! you are trying to download the data to data.args.path_to_data which by default points to /datasets. You can either create the /datasets directory or simply change the path to somewhere else. You can change the path by either passing data.args.path_to_data={YOUR PATH} or (recommended) editing the YAML file directly. Note that the data is partitioned federatedly and store in data.args.dataset_fl_root which by default also points to /datasets.

Thanks a lot. I actually did give a path by passing data.args.path_to_data={My Path Here} but didn't change fl_root hence the error. Thank you again, much appreciated.