hcmlab / GANonymization

A GAN-based Face Anonymization Framework for Preserving Emotional Expressions
https://hcmlab.github.io/GANonymization/
MIT License
12 stars 6 forks source link

PermissionError: [Errno 13] Permission denied: '/mnt/slurm' #1

Closed yingjinghuang closed 8 months ago

yingjinghuang commented 1 year ago

Getting the following error while executing the main.py script.

python main.py anonymize_image --model_file /media/data_16T/huangyj/privacy/scripts/GANonymization/models/GANonymization_25.ckpt --input_file /media/data_16T/huangyj/privacy/data/origin/9/2/5/0f6abaa7-463e-402c-ae91-dbcfb4d26125.jpg --output_file output.jpg

Traceback (most recent call last): File "/media/data_16T/huangyj/privacy/scripts/GANonymization/main.py", line 184, in anonymize_image(model_file="/media/data_16T/huangyj/privacy/scripts/GANonymization/models/GANonymization_25.ckpt", input_file="/media/data_16T/huangyj/privacy/data/origin/9/2/5/0f6abaa7-463e-402c-ae91-dbcfb4d26125.jpg", output_file="/media/data_16T/huangyj/privacy/scripts/GANonymization/output/output.jpg") File "/media/data_16T/huangyj/privacy/scripts/GANonymization/main.py", line 160, in anonymize_image Pix2PixTransformer(model_file, img_size, device) File "/media/data_16T/huangyj/privacy/scripts/GANonymization/lib/transform/pix2pix_transformer.py", line 12, in init self.model = Pix2Pix.load_from_checkpoint(model_file) File "/home/huang/anaconda3/envs/privacy/lib/python3.9/site-packages/pytorch_lightning/core/module.py", line 1520, in load_from_checkpoint loaded = _load_from_checkpoint( File "/home/huang/anaconda3/envs/privacy/lib/python3.9/site-packages/pytorch_lightning/core/saving.py", line 90, in _load_from_checkpoint model = _load_state(cls, checkpoint, strict=strict, kwargs) File "/home/huang/anaconda3/envs/privacy/lib/python3.9/site-packages/pytorch_lightning/core/saving.py", line 143, in _load_state obj = cls(_cls_kwargs) File "/media/data_16T/huangyj/privacy/scripts/GANonymization/lib/models/pix2pix.py", line 184, in init os.makedirs(self.out_dir, exist_ok=True) File "/home/huang/anaconda3/envs/privacy/lib/python3.9/os.py", line 215, in makedirs makedirs(head, exist_ok=exist_ok) File "/home/huang/anaconda3/envs/privacy/lib/python3.9/os.py", line 215, in makedirs makedirs(head, exist_ok=exist_ok) File "/home/huang/anaconda3/envs/privacy/lib/python3.9/os.py", line 215, in makedirs makedirs(head, exist_ok=exist_ok) [Previous line repeated 3 more times] File "/home/huang/anaconda3/envs/privacy/lib/python3.9/os.py", line 225, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/mnt/slurm'

I have tried to debug this error by change the parameter output_dir in libs/models/pix2pix.py, but a new error came up:

Traceback (most recent call last): File "/media/data_16T/huangyj/privacy/scripts/GANonymization/main.py", line 184, in anonymize_image(model_file="/media/data_16T/huangyj/privacy/scripts/GANonymization/models/GANonymization_25.ckpt", input_file="/media/data_16T/huangyj/privacy/data/origin/9/2/5/0f6abaa7-463e-402c-ae91-dbcfb4d26125.jpg", output_file="/media/data_16T/huangyj/privacy/scripts/GANonymization/output/output.jpg") File "/media/data_16T/huangyj/privacy/scripts/GANonymization/main.py", line 162, in anonymize_image img = transform(img) File "/home/huang/anaconda3/envs/privacy/lib/python3.9/site-packages/torchvision/transforms/transforms.py", line 95, in call img = t(img) File "/media/data_16T/huangyj/privacy/scripts/GANonymization/lib/transform/zero_padding_resize_transformer.py", line 24, in call if pic.width != self.size and pic.height != self.size: AttributeError: 'list' object has no attribute 'width'

FHellmann commented 1 year ago

Hey, there was an issue with the pix2pix_transformer. The problem should be resolved now. Let me know if other errors occur.

PedroKBrant commented 9 months ago

Hello @FHellmann, I got that same error as @yingjinghuang

error log ``` (GANo) voxar@voxar-MS-7D24:~/Desktop/pkb/GANonymization$ python main.py anonymize_image --model_file lib/models/baseline.ckpt --input_file test_data/ --output_file results/ Traceback (most recent call last): File "main.py", line 181, in fire.Fire() File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/site-packages/fire/core.py", line 141, in Fire component_trace = _Fire(component, args, parsed_flag_args, context, name) File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/site-packages/fire/core.py", line 475, in _Fire component, remaining_args = _CallAndUpdateTrace( File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace component = fn(*varargs, **kwargs) File "main.py", line 157, in anonymize_image Pix2PixTransformer(model_file, img_size, device) File "/home/voxar/Desktop/pkb/GANonymization/lib/transform/pix2pix_transformer.py", line 13, in __init__ self.model = Pix2Pix.load_from_checkpoint(model_file) File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/site-packages/pytorch_lightning/core/module.py", line 1561, in load_from_checkpoint loaded = _load_from_checkpoint( File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/site-packages/pytorch_lightning/core/saving.py", line 89, in _load_from_checkpoint model = _load_state(cls, checkpoint, strict=strict, **kwargs) File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/site-packages/pytorch_lightning/core/saving.py", line 156, in _load_state obj = cls(**_cls_kwargs) File "/home/voxar/Desktop/pkb/GANonymization/lib/models/pix2pix.py", line 184, in __init__ os.makedirs(self.out_dir, exist_ok=True) File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/os.py", line 211, in makedirs makedirs(head, exist_ok=exist_ok) File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/os.py", line 211, in makedirs makedirs(head, exist_ok=exist_ok) File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/os.py", line 211, in makedirs makedirs(head, exist_ok=exist_ok) [Previous line repeated 3 more times] File "/home/voxar/miniconda3/envs/GANo/lib/python3.8/os.py", line 221, in makedirs mkdir(name, mode) PermissionError: [Errno 13] Permission denied: '/mnt/slurm' ```
PedroKBrant commented 9 months ago

] Permission denied: '/mnt/slurm' I work around the permission by commenting the line 184 on pix2pix.py

os.makedirs(self.out_dir, exist_ok=True)

FHellmann commented 8 months ago

Thank you @PedroKBrant for the hint. I'll move the makedirs call somewhere outside of the model class so the checkpoint can be loaded without trying to create a directory.