グリッドサーチコードメモ
# 以下の範囲をグリッドサーチする。
# b1: 1 ≤ b1 ≤ 1.2
# b2: 1.2 ≤ b2 ≤ 1.6
# s1: 0.2 ≤ s1 ≤ 1
# s2: 0.2 ≤ s2 ≤ 1
import numpy as np
b1 = np.linspace(1, 1.2, 3)
b2 = np.linspace(1.0, 1.6, 5)
s1 = np.linspace(0.2, 1, 4)
s2 = np.linspace(0.2, 1, 4)
params_list = [
dict(b1=b1_, b2=b2_, s1=s1_, s2=s2_)
for b1_ in b1
for b2_ in b2
for s1_ in s1
for s2_ in s2
]
g = torch.Generator(device="cuda").manual_seed(42)
prompt, jender, hair = generate_prompt()
for para in tqdm(params_list):
print(para)
pipe.enable_freeu(**para)
g = g.manual_seed(42)
prompt = "anime artwork, anime style, (portrait), knight, 1girl, adult, blond hair, scarf, brave, medieval, fantasy, ((transparent))"
for i in range(4):
# prompt, jender, hair = generate_prompt()
# is_female = ("female" in jender) or ("girl" in jender) or ("woman" in jender)
filename = f"{prompt}__{image_id:05d}.png"
out_path = out_dir / "current" / (" ".join([f"{k}-{para[k]:.3f}" for k in para]) + "__" + filename)
# out_path = out_dir / "current" / (("f" if is_female else "m") + "-" + hair) / filename
out_path.parent.mkdir(exist_ok=True, parents=True)
image_id += 1
nega = "(embedding:unaestheticXLv31:0.5), photo, deformed, realism, disfigured, low contrast, bad hand"
image = pipe(
prompt=prompt,
negative_prompt=nega,
num_inference_steps=20,
generator=g
).images[0]
image.save(out_path)