diff --git a/Nodes/Outputs.py b/Nodes/Outputs.py index 3c04ff5..012f1c7 100644 --- a/Nodes/Outputs.py +++ b/Nodes/Outputs.py @@ -920,7 +920,7 @@ class PrimereAestheticCKPTScorer: }, } - def aesthetic_scorer(self, image, get_aesthetic_score, add_to_checkpoint, add_to_saved_prompt, prompt, workflow_data = None, **kwargs): + def aesthetic_scorer(self, image, get_aesthetic_score, add_to_checkpoint, add_to_saved_prompt, prompt, dual_mode = True, workflow_data = None, **kwargs): final_prediction = '*** Aesthetic scorer off ***' models = [] def pipe(model): @@ -984,9 +984,13 @@ class PrimereAestheticCKPTScorer: ae_model_access = os.path.join(AE_MODEL_ROOT, 'cafe_aesthetic') style_model_access = os.path.join(AE_MODEL_ROOT, 'cafe_style') if os.path.isdir(ae_model_access) == True and os.path.isdir(style_model_access) == True: - models.append({"pipe": pipe(ae_model_access), "weights": [0.0, 1.0], }) - models.append({"pipe": pipe(style_model_access), "weights": [1.0, 0.75, 0.5, 0.0, 0.0], }) - + if dual_mode == True: + models.append({"pipe": pipe(ae_model_access), "weights": [0.0, 1.0], }) + models.append({"pipe": pipe(style_model_access), "weights": [1.0, 0.75, 0.5, 0.0, 0.0], }) + final_divider = 2 + else: + models.append({"pipe": pipe(ae_model_access), "weights": [0.0, 1.0], }) + final_divider = 1 try: count = 1 pil_images = image.permute(0, 3, 1, 2) @@ -1007,7 +1011,7 @@ class PrimereAestheticCKPTScorer: scores[index] += sum(score) / w_sum scores = sorted(scores.items(), key=lambda k: k[1], reverse=True)[:count] final_score = ", ".join([f"{v:.3f}" for k, v in scores]) - final_prediction = int((float(final_score) * 1000) / 2) + final_prediction = int((float(final_score) * 1000) / final_divider) except Exception: final_prediction = '*** Invalid input image ***' else: diff --git a/README.md b/README.md index b6e55dd..17fafd6 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ The main difference between **minimal** and **basic** workflows, that **basic** - **Half-automatic model concept selector:** - **Supported concepts:** SD1, SD2, SDXL, SD3, StableCascade, Turbo, Flux, KwaiKolors, Hunyuan, Playground, Pony, LCM, Lightning, Hyper, PixartSigma, Sana (both 1024 and 512) - - Custom (and different) sampler settings for all concepts. The main ide that set sampler nodes only one time (`sampler`, `scheduler`, `step`, `cfg`) then just select model only what will use right sampler setting by `Model concept selector`. + - Custom (and different) sampler settings for all concepts. The main idea is set sampler nodes only one time (`sampler`, `scheduler`, `step`, `cfg`) then just select model only what will use right sampler, vae, clip settings by `Model concept selector`. - Auto detection of selected model type (if data already stored on external .json file, see longer [manual](Workflow/Manual/nodes/basic_workflow.md)) - Auto **download** and apply Hyper, Lightning, and Turbo speed loras at first usage from here: https://huggingface.co/ByteDance/Hyper-SD/tree/main **check your SSD space before!** diff --git a/Workflow/Manual/nodes/basic_production_plus_workflow.md b/Workflow/Manual/nodes/basic_production_plus_workflow.md index 440eb29..602c8dc 100644 --- a/Workflow/Manual/nodes/basic_production_plus_workflow.md +++ b/Workflow/Manual/nodes/basic_production_plus_workflow.md @@ -15,13 +15,13 @@ This node allows you to enrich your prompts with various artistic styles, concep - Add multiple style elements to positive and negative prompts - Fine-tune the strength of each style component - Categories include: - - Art Types (3d-rendering, digital-artwork, drawing, painting, photo, vector-art) - - Concepts - - Artists - - Art Movements - - Colors - - Directions - - Moods +- Art Types (3d-rendering, digital-artwork, drawing, painting, photo, vector-art) +- Concepts +- Artists +- Art Movements +- Colors +- Directions +- Moods #### Style Controls: @@ -37,11 +37,6 @@ Each category includes: - Stack multiple styles with precise control - Separate positive and negative style applications -#### Node Outputs: - -- STYLE+: Enhanced positive prompt -- STYLE-: Enhanced negative prompt -