rbbrdckybk / dream-factory

Multi-threaded GUI manager for mass creation of AI-generated art with support for multiple GPUs.
MIT License
497 stars 57 forks source link

Error parsing models #46

Closed Koneko349 closed 1 year ago

Koneko349 commented 1 year ago

The latest version is throwing errors when loading models

Exception in thread Thread-201: Traceback (most recent call last): File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner self.run() File "/mnt/data/AI/dream-factory/dream-factory.py", line 169, in run print(control.model_trigger_words.get(self.command.get('ckpt_file'))) TypeError: unhashable type: 'dict'

I reverted to commit c160045 and all is well again.

rbbrdckybk commented 1 year ago

I can't replicate this one on my end - if you get a chance and can revert back to the latest, can you please copy/paste the entire DF console output, starting from:

[cuda:x] >>> starting job #xxx:  ...

to the end of the error? Thanks!

Koneko349 commented 1 year ago

Here is the full output from starting dream-factory

[controller] >>> reading configuration from config.txt... [controller] >>> starting webserver (http://localhost:8080/) as a background process... [controller] >>> detected 1 total GPU device(s)... [controller] >>> initialized worker 'cuda:0': NVIDIA GeForce RTX 3090 [controller] >>> ControlNet extension not found; disabling ControlNet functionality... [cuda:0] >>> starting new SD instance via: /mnt/data/AI/stable-diffusion-webui/df-start-gpu-0.sh [cuda:0] >>> waiting for SD instance to be ready... Opening in existing browser session. [cuda:0] >>> SD instance finished initialization; ready for work! [cuda:0] >>> passing initial setup options to SD instance... [cuda:0] >>> querying SD for available samplers... [cuda:0] >>> querying SD for available models... [cuda:0] >>> querying SD for available hypernetworks... [cuda:0] >>> querying SD for available LoRAs... [cuda:0] >>> querying SD for available scripts... [cuda:0] >>> querying SD for available upscalers... [cuda:0] >>> received hypernetwork query response: SD indicates 13 hypernetworks available for use... [cuda:0] >>> received sampler query response: SD indicates 22 samplers available for use... [cuda:0] >>> received script query response: SD indicates 'Ultimate SD Upscale script' is not available for use... [cuda:0] >>> received upscaler query response: SD indicates 10 upscalers available for use... [cuda:0] >>> received LoRA query response: SD indicates 15 LoRAs available for use... [cuda:0] >>> received model query response: SD indicates 72 models available for use... [controller] >>> Starting background hash calculations for 15 LoRA files without cache file entries... [controller] >>> Startup complete; GPU worker(s) ready - queue some work via the control panel! [controller] >>> Finished background hash calculations for 15 uncached LoRAs... [controller] >>> Starting background hash calculations for 72 model files without cache file entries... [controller] >>> clearing work queue... [controller] >>> queued 1 work items. [controller] >>> Un-pausing; workers will resume working... Exception in thread Thread-201: Traceback (most recent call last): File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner self.run() File "/mnt/data/AI/dream-factory/dream-factory.py", line 151, in run self.worker['sdi_instance'].load_model(self.command.get('ckpt_file')) File "/mnt/data/AI/dream-factory/scripts/sdi.py", line 829, in load_model self.log("requesting a new model load: " + new_model, True) TypeError: can only concatenate str (not "dict") to str

rbbrdckybk commented 1 year ago

Can you paste the contents of the .prompts file that you're loading here? Especially any lines with !CKPT_FILE = commands. Thanks!

Koneko349 commented 1 year ago

# Dream Factory random prompt file

# created 2023-06-18 at 19:13:38 via the integrated prompt editor

# *****************************************************************************************************

# these are the default configuration parameters set in your config.txt file

# you may override anything in this section if you wish, otherwise skip down to the [prompts] section(s) below

[config]

!MODE = random # random mode; queue random prompts from [prompts] sections below

!DELIM = " " # delimiter to use between prompt sections, default is space

!WIDTH = 512 # output image width

!HEIGHT = 768 # output image height

!HIGHRES_FIX = no # fix for images significantly larger than 512x512, if enabled uses !STRENGTH setting

!STEPS = 35 # number of steps, more may improve image but increase generation time

!SAMPLER = Euler a # sampler to use; press ctrl+h for reference

!SAMPLES = 1 # number of images to generate per prompt

!MIN_SCALE = 6 # minimum guidance scale, default = 7.5

!MAX_SCALE = 6 # maximum guidance scale, set min and max to same number for no variance

!RANDOM_INPUT_IMAGE_DIR = # specify directory of images here; a random image will be picked per prompt 

!MIN_STRENGTH = 0.75 # min strength of starting image influence, (0-1, 1 is lowest influence)

!MAX_STRENGTH = 0.75 # max strength of start image, set min and max to same number for no variance

!CKPT_FILE = all

!SEED = 777082927 # model to load, press ctrl+h for reference

# optional integrated upscaling

!USE_UPSCALE = no # upscale output images?

!UPSCALE_AMOUNT = 2.0 # upscaling factor

!UPSCALE_CODEFORMER_AMOUNT = 1.0 # how visible codeformer enhancement is, 0-1

!UPSCALE_GFPGAN_AMOUNT = 0.0 # how visible gfpgan enhancement is, 0-1

!UPSCALE_KEEP_ORG = no # keep the original non-upscaled image (yes/no)?

# optional negative prompt

!NEG_PROMPT = ng_deepnegative_v1_75t, ((worst quality, low quality)), ((bald, doll, bad smile, creepy smile, creepy expression, deformed, deformed body, deformed hands, deformed feet, deformed legs, glossy skin, shiny skin)), draft, drawing, extra arms, (extra fingers), extra legs, extra limbs, grainy, gross, gross proportions, short arm, image corruption, irregular, jpeg artifacts, long body, long face, long neck, mosaic, (out of focus), (out of frame), unnatural, unnatural body, unprofessional, body hair, hairy, (fake skin, porcelain skin, plastic doll, (wrinkles)), (bad feet, wrong feet, bad hands, wrong hands),((ribs:1.5)), (((NSFW))), (depth of field, blurry, film grain, chromatic aberration, lens flare:1.0), greyscale, monochrome, dusty sunbeams, motion blur, emphasis lines, text, title, logo, signature, ((day time, bright sky))

# *****************************************************************************************************

# prompt section

# *****************************************************************************************************

[prompts]

(masterpiece, best quality, ultra-detailed), 8k, photo shoot, beautiful lighting, highly detailed face, professional lighting, rich colors, saturated colors, beautiful shadows, colorful, (highly detailed skin:1.3), (textured skin), 1girl, outside, (((night time:1.5))), ((beautiful detailed glow)), (((SFW))), beautiful dress, colorful dress, full length dress, ((looking at viewer, looking at camera, eye contact)), ((cute, adorable)), ((full body)), posing, (water, reflecting pool, beautiful lake, still water, water reflection, standing in water), (star field, star filled sky, starry sky), ((night sky)), dark sky, galaxies, amazing night sky, colorful night sky, beautiful night sky), ((lit landscape, landscape lights)), ((highly detailed skin, skin pores)), ((Japanese maple trees, autumn))

# put your prompts here; one per line

# you may also add additional [prompt] sections below, see 'example-random.prompts' for details
rbbrdckybk commented 1 year ago

Ah, got it - I introduced a bug when handling CKPT_FILE = all with one of my recent changes.

Just pushed out a fix; pull the latest and you should be good. Thanks!

Koneko349 commented 1 year ago

That did it! Thank you