🦁
Stable Diffusion・Batchを使うときはgeneratorも同じ数つくらないといけない。
結論
使い回しも効かないので、generatorは、pipeの前にbatchの数だけ生成しましょう。
半日ハマって苦労しました。
たしかに、一つでもエラーでないけど、何故か各画像が荒ぶっていました。
generator = torch.Generator(device).manual_seed(seed)
よく調べたらバッチのときだけ問題が出たので、以下のように生成してpipeに渡したら解決しました。
for i in range(batch_size):
generator = torch.Generator(device).manual_seed(seed)
generators.append(generator)
Discussion