Giter Site home page Giter Site logo

Comments (15)

Harvester62 avatar Harvester62 commented on May 13, 2024 1

Hi, I let the developer of Dynamic Prompts know about your research for a solution to this incompatibility issue, hoping that you might find together the cause and the solution to this problem. Here is the link to the bug report I reopened there: adieyal/sd-dynamic-prompts#91 (comment)

from unprompted.

JohnWJarrett avatar JohnWJarrett commented on May 13, 2024

Eh, I'm just going to remove it. the error and just unprompted in general means it takes forever for a large batch to start as it tries to find (This is what I am guessing after all) any matches in the X amount of prompts that DP is making.

from unprompted.

ThereforeGames avatar ThereforeGames commented on May 13, 2024

Hi @JohnWJarrett,

Thank you for your findings!

Unfortunately, A1111's documentation is a bit sparse when it comes to getting extensions to play well with each other. l need to run some tests to learn how the WebUI prioritizes execution.

If you don't mind me asking, what is the purpose of running Unprompted and Dynamic Prompting simultaneously?

from unprompted.

Harvester62 avatar Harvester62 commented on May 13, 2024

I can confirm that Dynamic Prompts and Unprompted are incompatible, in the sense that if Unprompted is installed AND activated in the Extensions tab, Dynamic Prompts doesn't work properly and the functions named "Magic Prompt" and "I'm feeling luky" won't work any more.
This was discovered after deep testing with the Dynamic Prompts developer. Unless the developer of Unprompted will discover what is interfering with Dynamic Prompts, the only solution is to do not activate both extensions at the same time, but only one or the other. We can still keep both installed.

Dynamic Prompts provide a couple of very nice tools like the "Magic Prompts" (https://github.com/adieyal/sd-dynamic-prompts#magic-prompt) and "I'm feeling lucky" (https://github.com/adieyal/sd-dynamic-prompts#im-feeling-lucky) which automatically add further terms to an initially given prompt using the Lexica.art API.

from unprompted.

ThereforeGames avatar ThereforeGames commented on May 13, 2024

Hi @Harvester62,

Thanks for your findings - I'm going to install a copy of Dynamic Prompts and see if I can figure out why Unprompted isn't playing well with it. It sounds like "Magic Prompts" and "I'm feeling lucky" are good reasons to have both plugins installed.

from unprompted.

Harvester62 avatar Harvester62 commented on May 13, 2024

Hi @ThereforeGames, this would be great, thank you. I think that both extensions have good reasons to be kept installed and used. Hope you find a solution and if you need anything from my side, let me know.

from unprompted.

ThereforeGames avatar ThereforeGames commented on May 13, 2024

Hi guys,

Quick update. Here's what I've found after installing the Dynamic Prompts extension alongside Unprompted:

  • A1111 WebUI can run txt2img and img2img without crashing, so I may have already fixed the original issue.
  • It seems that Unprompted overrides Dynamic Prompts' execution. I still need to dig into A1111's source code to understand why this is happening, but if I had to guess, the UI might process extensions in alphabetical order. The effect that Dynamic Prompts has on the all-important p object does not seem to get passed on to Unprompted. EDIT: After more tests I can confirm that Dynamic runs first but Unprompted does not receive its changes to the prompt object.
  • I cannot find anything in the A1111 docs about inter-extension compatibility: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions

Either I am overlooking something or we are up against a limitation of the extension system. Worst case scenario, Unprompted can probably call Dynamic Prompts' process() function manually, but I would prefer to find a less hacky solution. If anyone can point me in the right direction I'd appreciate it!

from unprompted.

adieyal avatar adieyal commented on May 13, 2024

I wonder whether the easiest solution is to simply provide a checkbox that disables Unprompted. Dynamic Prompts has an opt out checkbox for this reason. Is there a common use case for using both extensions at the same time?

Screenshot from 2022-12-03 22-34-06

from unprompted.

Harvester62 avatar Harvester62 commented on May 13, 2024

I think this is a good idea, at least until a solution will be found, if it will exist.
One suggestion, make a "Unprompted Enabled" checkbox disabled by default, or make it as "Unprompted Disabled" and checked by default, so that Dynamic Prompts works fine by default and when you want to use Unprompted it's simply a matter of enabling/disabling this option. One of the two options should work. Yes, let's try this way.
I hope that anyway you or the developer of Dynamic Prompts will be able to find out why this is happening and if it's fixable in the future. Thank you for looking into this matter.

from unprompted.

ThereforeGames avatar ThereforeGames commented on May 13, 2024

Hi folks,

I may have addressed the underlying issue in v2.0.2 - it looks like Unprompted does receive changes to all_prompts so I have updated the script to utilize this variable instead.

Feel free to give the new version a try and let me know if it seems more compatible with Dynamic Prompts. Thanks!

from unprompted.

adieyal avatar adieyal commented on May 13, 2024

That's great news.

from unprompted.

Harvester62 avatar Harvester62 commented on May 13, 2024

I will give a try for sure, thank you!

from unprompted.

Harvester62 avatar Harvester62 commented on May 13, 2024

Unfortunately, I still get an error at startup with Unprompted:

Error loading script: unprompted.py
Traceback (most recent call last):
File "C:\stable-diffusion-webui\modules\scripts.py", line 184, in load_scripts
module = script_loading.load_module(scriptfile.path)
File "C:\stable-diffusion-webui\modules\script_loading.py", line 13, in load_module
exec(compiled, module.dict)
File "C:\stable-diffusion-webui\extensions\unprompted\scripts\unprompted.py", line 18, in
from lib.shared import Unprompted
ModuleNotFoundError: No module named 'lib.shared'

Therefore Unprompted is not being loaded and I cannot test it.

from unprompted.

kingsushi001 avatar kingsushi001 commented on May 13, 2024

Unfortunately, I still get an error at startup with Unprompted:

Error loading script: unprompted.py Traceback (most recent call last): File "C:\stable-diffusion-webui\modules\scripts.py", line 184, in load_scripts module = script_loading.load_module(scriptfile.path) File "C:\stable-diffusion-webui\modules\script_loading.py", line 13, in load_module exec(compiled, module.dict) File "C:\stable-diffusion-webui\extensions\unprompted\scripts\unprompted.py", line 18, in from lib.shared import Unprompted ModuleNotFoundError: No module named 'lib.shared'

Therefore Unprompted is not being loaded and I cannot test it.

Same here. Have tried everything. It just doesn't work

from unprompted.

ThereforeGames avatar ThereforeGames commented on May 13, 2024

Closing as I believe the underlying issue was resolved (the lib folder was renamed to lib_unprompted months ago.)

from unprompted.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.