Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

少了括號? #7

Open
AG-w opened this issue Apr 9, 2024 · 4 comments
Open

少了括號? #7

AG-w opened this issue Apr 9, 2024 · 4 comments

Comments

@AG-w
Copy link

AG-w commented Apr 9, 2024

這邊看起來你是想要做切換

            if i + 1 // 2 == 1:
                x = dy_sampling_step(x, model, dt, sigma_hat, **extra_args)
            if i + 1 // 2 == 0:
                x = smea_sampling_step(x, model, dt, sigma_hat, **extra_args)

但是 1//2 只會等於 0
括號起來才是你要的?

            if (i + 1) // 2 == 1:
                x = dy_sampling_step(x, model, dt, sigma_hat, **extra_args)
            if (i + 1) // 2 == 0:
                x = smea_sampling_step(x, model, dt, sigma_hat, **extra_args)
@Koishi-Star
Copy link
Owner

你是对的。我会测试修正后的版本。

@AG-w
Copy link
Author

AG-w commented Apr 10, 2024

你好,想問這段的作用是什麼?
不管是 if (i + 1) // 2 == 0:if i + 1 // 2 == 0:,i 只有在 0 才能滿足, 那怎麼不直接 i == 0 就好?

@Koishi-Star
Copy link
Owner

你好,想問這段的作用是什麼? 不管是 if (i + 1) // 2 == 0:if i + 1 // 2 == 0:,i 只有在 0 才能滿足, 那怎麼不直接 i == 0 就好?

你是对的,但这样写和dy_step中的if i // 2 == 1相对应,看起来很酷XD。

好吧,实际上是机缘巧合的产物,原本的想法是i % 2 == 1,使这些step在每一个奇数步骤产生作用,但经过测试,我发现使dy_stepsmea_step在0-4步中的1-2步发挥作用效果最好。我也测试了使这些step在每一步中生效、拟合正弦步骤生效,但效果最好的依旧是现在的方案。

理论上这是因为sigmas在0-4步取值最大,对于图片的影响最大。本方法的核心思想是“self-reference”,使ai从一个更小的潜空间里进行自参考,以提高图片质量。事实证明这非常成功,图片的美学评分和质量肉眼可见地提高。(非要追求数学原理,就是多维张量在不同尺度的再映射,或者矩阵的子矩阵的解对于求解的优化,我数学一般般)

如果你想做进一步研究,我这里也有许多废案,例如使dy_step取图片的1/3,1/4,1/5,1/6,但效果都不理想。1/3,1/4,1/5的方案看起来对于质量没有提升(但也能改善图片构图),而1/6的方案使得ai把图片塞在一个很小的范围内。

我也测试了将图片划分成(2x2)小块取平均的效果(dy_avg),这样做并不能改善质量和美学,但能在非常大的尺度上生成图片而避免结构崩坏(例如在sd1.5直出1024x1536,甚至指出2048x2048)。

而smea的核心思想与dy相反。我注意到图片放大后再进行潜空间缩小,图片就会变得发亮,这与Nai3的smea描述类似。于是我尝试了smea方法,但效果平平,没有达到我的预期。

@AG-w
Copy link
Author

AG-w commented Apr 10, 2024

照原本的順序就是 smea > dy > dy,發現這樣很容易出現模糊背景
拿掉第二次的dy變成 smea > dy 的話,細節又會變少
剛剛試了dy > smea > dy ,這樣細節還有,背景也比較不會變糊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants