From b6bea8f2c0a2037446951344823c3cf41ee5afdc Mon Sep 17 00:00:00 2001 From: hlyml <2024212846@stu.hit.edu.cn> Date: Fri, 17 Oct 2025 11:03:26 +0800 Subject: [PATCH 1/4] Modify skip_cfg_above_sigma assignment logic Adjust skip_cfg_above_sigma based on pixel count. --- nodes.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index 71f42b7..c62196c 100644 --- a/nodes.py +++ b/nodes.py @@ -105,7 +105,15 @@ class NovelAITXT2IMGPayload(BaseRequest): # 设置skip_cfg_above_sigma值 if self.skip_cfg_above_sigma_enable: - self.skip_cfg_above_sigma = 59.04722600415217 + pixel_count = self.width * self.height + if pixel_count == 1024 * 1024: + self.skip_cfg_above_sigma = 59.04722600415217 + elif pixel_count == 1216 * 832: + self.skip_cfg_above_sigma = 58.0 + elif pixel_count == 1408 * 704: + self.skip_cfg_above_sigma = 57.40995413696215 + else: + self.skip_cfg_above_sigma = 58.0 else: self.skip_cfg_above_sigma = None From f81cbfe855f091ee12fee2664a6ddaa031475164 Mon Sep 17 00:00:00 2001 From: hlyml <2024212846@stu.hit.edu.cn> Date: Fri, 17 Oct 2025 11:44:51 +0800 Subject: [PATCH 2/4] Update nodes.py --- nodes.py | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/nodes.py b/nodes.py index c62196c..fd2f2ca 100644 --- a/nodes.py +++ b/nodes.py @@ -106,14 +106,25 @@ class NovelAITXT2IMGPayload(BaseRequest): # 设置skip_cfg_above_sigma值 if self.skip_cfg_above_sigma_enable: pixel_count = self.width * self.height - if pixel_count == 1024 * 1024: - self.skip_cfg_above_sigma = 59.04722600415217 - elif pixel_count == 1216 * 832: - self.skip_cfg_above_sigma = 58.0 - elif pixel_count == 1408 * 704: - self.skip_cfg_above_sigma = 57.40995413696215 + + # 预定义的尺寸映射表 + size_mapping = { + 1024 * 1024: 59.04722600415217, + 1216 * 832: 58.0, + 1408 * 704: 57.40995413696215, + 832 * 832: 47.97587112837365, + 768 * 768: 44.285419503114134, + 704 * 704: 40.59496787785462, + 640 * 640: 36.90451625259511, + 768 * 512: 36.158893609242725 + } + + # 如果像素数在映射表中,直接使用表中的值 + if pixel_count in size_mapping: + self.skip_cfg_above_sigma = size_mapping[pixel_count] else: - self.skip_cfg_above_sigma = 58.0 + # 使用拟合公式计算:skip_cfg_above_sigma ≈ 0.0577 * sqrt(pixel_count) + self.skip_cfg_above_sigma = 0.0577 * (pixel_count) ** 0.5 else: self.skip_cfg_above_sigma = None From 8ff56eba4fc11d6fcf76f97b4bb8e876550a5c89 Mon Sep 17 00:00:00 2001 From: hlyml <2024212846@stu.hit.edu.cn> Date: Fri, 17 Oct 2025 12:05:41 +0800 Subject: [PATCH 3/4] Adjust skip_cfg_above_sigma calculation formula --- nodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index fd2f2ca..2b3e407 100644 --- a/nodes.py +++ b/nodes.py @@ -124,7 +124,7 @@ class NovelAITXT2IMGPayload(BaseRequest): self.skip_cfg_above_sigma = size_mapping[pixel_count] else: # 使用拟合公式计算:skip_cfg_above_sigma ≈ 0.0577 * sqrt(pixel_count) - self.skip_cfg_above_sigma = 0.0577 * (pixel_count) ** 0.5 + self.skip_cfg_above_sigma = 0.1 * (pixel_count / 3) ** 0.5 else: self.skip_cfg_above_sigma = None From a0c875481541c2093613e6e265455bfba2790745 Mon Sep 17 00:00:00 2001 From: hlyml <2024212846@stu.hit.edu.cn> Date: Fri, 17 Oct 2025 12:18:10 +0800 Subject: [PATCH 4/4] Fix division to use float for pixel_count calculation --- nodes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nodes.py b/nodes.py index 2b3e407..1136f07 100644 --- a/nodes.py +++ b/nodes.py @@ -124,7 +124,7 @@ class NovelAITXT2IMGPayload(BaseRequest): self.skip_cfg_above_sigma = size_mapping[pixel_count] else: # 使用拟合公式计算:skip_cfg_above_sigma ≈ 0.0577 * sqrt(pixel_count) - self.skip_cfg_above_sigma = 0.1 * (pixel_count / 3) ** 0.5 + self.skip_cfg_above_sigma = 0.1 * (pixel_count / 3.0) ** 0.5 else: self.skip_cfg_above_sigma = None