sd-dynamic-prompts
sd-dynamic-prompts copied to clipboard
Trying to pick randomly from all wildcards in wildcards folder. "__*__" works, but "{x$$__*__}" doesn't.
This is the error I get when trying
Error running process: C:\Users\mattb\stable-diffusion-webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py
Traceback (most recent call last):
File "C:\Users\mattb\stable-diffusion-webui\modules\scripts.py", line 451, in process
script.process(p, *script_args)
File "C:\Users\mattb\stable-diffusion-webui\extensions\sd-dynamic-prompts\sd_dynamic_prompts\dynamic_prompting.py", line 482, in process
all_prompts, all_negative_prompts = generate_prompts(
File "C:\Users\mattb\stable-diffusion-webui\extensions\sd-dynamic-prompts\sd_dynamic_prompts\helpers.py", line 93, in generate_prompts
all_prompts = prompt_generator.generate(prompt, num_prompts, seeds=seeds) or [""]
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\generators\randomprompt.py", line 71, in generate
prompts.append(next(iter(gen)))
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\base.py", line 75, in _get_sequence
yield rotate_and_join(sub_generators, separator=command.separator)
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\utils.py", line 43, in rotate_and_join
return separator.join(rotate_all(generators))
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\utils.py", line 35, in rotate_all
return [next(gen) for gen in generators]
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\utils.py", line 35, in <listcomp>
return [next(gen) for gen in generators]
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\random.py", line 64, in _get_variant
wildcard_variant = wildcard_to_variant(
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\utils.py", line 25, in wildcard_to_variant
variant_options = [
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\utils.py", line 26, in <listcomp>
VariantOption(parse(v, parser_config=context.parser_config)) for v in values
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\parser\parse.py", line 454, in parse
tokens = get_cached_parser(parser_config).parse_string(
File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\pyparsing\core.py", line 1190, in parse_string
raise exc.with_traceback(None)
pyparsing.exceptions.ParseException: Expected end of text, found '_' (at char 19), (line:1, col:20)
Thanks, looks like a parser bug
This is the error I get when trying
Error running process: C:\Users\mattb\stable-diffusion-webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py Traceback (most recent call last): File "C:\Users\mattb\stable-diffusion-webui\modules\scripts.py", line 451, in process script.process(p, *script_args) File "C:\Users\mattb\stable-diffusion-webui\extensions\sd-dynamic-prompts\sd_dynamic_prompts\dynamic_prompting.py", line 482, in process all_prompts, all_negative_prompts = generate_prompts( File "C:\Users\mattb\stable-diffusion-webui\extensions\sd-dynamic-prompts\sd_dynamic_prompts\helpers.py", line 93, in generate_prompts all_prompts = prompt_generator.generate(prompt, num_prompts, seeds=seeds) or [""] File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\generators\randomprompt.py", line 71, in generate prompts.append(next(iter(gen))) File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\base.py", line 75, in _get_sequence yield rotate_and_join(sub_generators, separator=command.separator) File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\utils.py", line 43, in rotate_and_join return separator.join(rotate_all(generators)) File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\utils.py", line 35, in rotate_all return [next(gen) for gen in generators] File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\utils.py", line 35, in <listcomp> return [next(gen) for gen in generators] File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\random.py", line 64, in _get_variant wildcard_variant = wildcard_to_variant( File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\utils.py", line 25, in wildcard_to_variant variant_options = [ File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\samplers\utils.py", line 26, in <listcomp> VariantOption(parse(v, parser_config=context.parser_config)) for v in values File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\dynamicprompts\parser\parse.py", line 454, in parse tokens = get_cached_parser(parser_config).parse_string( File "C:\Users\mattb\stable-diffusion-webui\venv\lib\site-packages\pyparsing\core.py", line 1190, in parse_string raise exc.with_traceback(None) pyparsing.exceptions.ParseException: Expected end of text, found '_' (at char 19), (line:1, col:20)
@akx
Please show your actual full prompt. Are you using any other extensions that could be modifying prompts (such as ADetailer)?
Please show your actual full prompt. Are you using any other extensions that could be modifying prompts (such as ADetailer)?
The prompt is just "4$$__*__" and it still fails:
*** Error running process: D:\AI\webui_forge_cu121_torch21\webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py
Traceback (most recent call last):
File "D:\AI\webui_forge_cu121_torch21\webui\modules\scripts.py", line 803, in process
script.process(p, *script_args)
File "D:\AI\webui_forge_cu121_torch21\webui\extensions\sd-dynamic-prompts\sd_dynamic_prompts\dynamic_prompting.py", line 481, in process
all_prompts, all_negative_prompts = generate_prompts(
^^^^^^^^^^^^^^^^^
File "D:\AI\webui_forge_cu121_torch21\webui\extensions\sd-dynamic-prompts\sd_dynamic_prompts\helpers.py", line 93, in generate_prompts
all_prompts = prompt_generator.generate(prompt, num_prompts, seeds=seeds) or [""]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\webui_forge_cu121_torch21\webui\venv\Lib\site-packages\dynamicprompts\generators\randomprompt.py", line 67, in generate
gen = self._context.sample_prompts(template, num_images)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\webui_forge_cu121_torch21\webui\venv\Lib\site-packages\dynamicprompts\sampling_context.py", line 119, in sample_prompts
command = parse(prompt, parser_config=self.parser_config)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\webui_forge_cu121_torch21\webui\venv\Lib\site-packages\dynamicprompts\parser\parse.py", line 454, in parse
tokens = get_cached_parser(parser_config).parse_string(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\AI\webui_forge_cu121_torch21\webui\venv\Lib\site-packages\pyparsing\core.py", line 1197, in parse_string
raise exc.with_traceback(None)
pyparsing.exceptions.ParseException: Expected end of text, found '$' (at char 1), (line:1, col:2)
This is even with only the dynamic prompts extension enabled.
See?
adieyal also said this might be a parser bug, but never did anything to fix it
@akx
I tried a couple recent dynamicprompts versions (0.29.0, 0.30.0, 0.31.0) and 4$$__*__ is not a valid prompt in any of them. What should that prompt do in your opinion?
I tried a couple recent
dynamicpromptsversions (0.29.0, 0.30.0, 0.31.0) and4$$__*__is not a valid prompt in any of them. What should that prompt do in your opinion?
I thought it would draw from all the wildcards in my folder.
If you want four random wildcards, try {4$$__*__} (wrapped in curly braces for variant syntax).