XavierXiao / Dreambooth-Stable-Diffusion

Implementation of Dreambooth (https://arxiv.org/abs/2208.12242) with Stable Diffusion
MIT License
7.6k stars 795 forks source link

AttributeError: 'Options' object has no attribute 'tag_drop_out' #89

Open Cinelook opened 1 year ago

Cinelook commented 1 year ago

When I run dreambooth training locally I get this error message:

AttributeError: 'Options' object has no attribute 'tag_drop_out'

Complet version of the error message:

` Running training Num examples = 1380 Num batches each epoch = 1380 Num Epochs = 1 Instantaneous batch size per device = 1 Total train batch size (w. parallel, distributed & accumulation) = 1 Gradient Accumulation steps = 1 Total optimization steps = 1200 Training settings: CPU: False Adam: True, Prec: fp16, Prior: True, Grad: True, TextTr: True EM: False, LR: 1e-06 Allocated: 4.4GB Reserved: 4.4GB

Steps: 0%| | 0/1200 [00:00<?, ?it/s] Exception while training: 'Options' object has no attribute 'tag_drop_out' Allocated: 4.4GB Reserved: 4.4GB

Traceback (most recent call last): File "F:\StableDifusion\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\train_dreambooth.py", line 972, in main for step, batch in enumerate(train_dataloader): File "F:\StableDifusion\stable-diffusion-webui\venv\lib\site-packages\accelerate\data_loader.py", line 376, in iter current_batch = next(dataloader_iter) File "F:\StableDifusion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data\dataloader.py", line 681, in next data = self._next_data() File "F:\StableDifusion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data\dataloader.py", line 721, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "F:\StableDifusion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data_utils\fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "F:\StableDifusion\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data_utils\fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "F:\StableDifusion\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\train_dreambooth.py", line 422, in getitem example["instance_prompt"] = self.text_getter.create_text(instance_prompt, File "F:\StableDifusion\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\finetune_utils.py", line 41, in create_text if shared.opts.tag_drop_out != 0: File "F:\StableDifusion\stable-diffusion-webui\modules\shared.py", line 429, in getattr return super(Options, self).getattribute(item) AttributeError: 'Options' object has no attribute 'tag_drop_out'`

if someone is able to solve this problem I thank him in advance

zhq426 commented 1 year ago

I get this error too. have u solve it ?

Cinelook commented 1 year ago

I get this error too. have u solve it ?

No, unfortunately I still haven't found a solution... but at least I see that I'm not the only one with this problem

aunymoons commented 1 year ago

Same exact issue,

` Running training Num examples = 25 Num batches each epoch = 25 Num Epochs = 60 Shuffle After Epoch = False Instantaneous batch size per device = 1 Total train batch size (w. parallel, distributed & accumulation) = 1 Gradient Accumulation steps = 1 Total optimization steps = 1500 Training settings: CPU: False Adam: True, Prec: fp16, Prior: False, Grad: False, TextTr: True EM: True, LR: 1.72e-06 Allocated: 5.5GB Reserved: 5.6GB

Steps: 0%| | 0/1500 [00:00<?, ?it/s] Exception while training: 'Options' object has no attribute 'tag_drop_out' Allocated: 5.5GB Reserved: 5.6GB

Traceback (most recent call last): File "E:\SD\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\train_dreambooth.py", line 1115, in main for step, batch in enumerate(train_dataloader): File "E:\SD\stable-diffusion-webui\venv\lib\site-packages\accelerate\data_loader.py", line 376, in iter current_batch = next(dataloader_iter) File "E:\SD\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data\dataloader.py", line 681, in next data = self._next_data() File "E:\SD\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data\dataloader.py", line 721, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "E:\SD\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data_utils\fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "E:\SD\stable-diffusion-webui\venv\lib\site-packages\torch\utils\data_utils\fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "E:\SD\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\train_dreambooth.py", line 474, in getitem example["instance_prompt"] = self.text_getter.create_text(instance_prompt, File "E:\SD\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\finetune_utils.py", line 64, in create_text if shared.opts.tag_drop_out != 0: File "E:\SD\stable-diffusion-webui\modules\shared.py", line 433, in getattr return super(Options, self).getattribute(item) AttributeError: 'Options' object has no attribute 'tag_drop_out'`

Tried restarting, updating everything, reinstalling everything, nothing works, and i doubt the issue is in my hardware as i am using a RTX3090

Havent found more info on this on other forums.

Cinelook commented 1 year ago

I finally managed to solve this problem, here is what I did:

1: Checked for Miniconda in my PC (it had been uninstalled inadvertently, but even after reinstalling dreambooth didn't work)

2: Reinstalled Stable diffusion version Automatic1111 (even if this version still has the same name and I already had it, it is constantly updated and some extensions need the latest version of stable diffusion to work) The official link: https://github.com/AUTOMATIC1111/stable-diffusion-webui

3: Forcing Xformers by adding this command line in the webui-user.bat file :

set COMMANDLINE_ARGS= --xformers

4: Installation of the latest version of dreambooth by going directly to the "extensions" tab of the local interface of stable diffusion

After these manipulations everything worked without any problem.

I hope this helps and sorry if my English is bad

LiamDavisonGates commented 1 year ago

I have the same issue.

I have updated my Stable-Diffusion-WebUI and the dreambooth extension, but I still get the error

ErioRaggen commented 1 year ago

Same issue here, reinstalled everything twice, all freshly cloned from github (webUI, dreambooth etc.). still get the same error.

ErioRaggen commented 1 year ago

So tag_drop_out is related to the webui. Most likely you have to update your webui to solve this. If that doesn't work (as was my case), revert to an older commit. I reverted back to 263b323de12eb2444b0818105575a2bc69ab0344, and it's working again.

sqzhang-jeremy commented 1 year ago

Thanks. It works for me

Safwan5555 commented 1 year ago

So tag_drop_out is related to the webui. Most likely you have to update your webui to solve this. If that doesn't work (as was my case), revert to an older commit. I reverted back to 263b323de12eb2444b0818105575a2bc69ab0344, and it's working again.

How do I revert back the webui?

h1-ti commented 1 year ago

In my case, updating the webui did not solve the problem, so I solved it by editing stable-diffusion-webui/config.json and adding the following two keys and values.

"tag_drop_out": 0,
"shuffle_tags": false

}

nanafy commented 1 year ago

In my case, updating the webui did not solve the problem, so I solved it by editing stable-diffusion-webui/config.json and adding the following two keys and values.

"tag_drop_out": 0,
"shuffle_tags": false

}

Genius, not sure what this does but it fixed it. If you dont mind me asking, what exactly does this fix, what was the issue.