Stable Diffusion "A tensor with all NaNs was produced in Unet" hatası

450909

Hectopat
Katılım
21 Nisan 2021
Mesajlar
4.167
Makaleler
2
Çözümler
11
Merhaba. Stable Diffusion'un kurulumunu yaptım, webui-user.bat dosyasını çalıştırdığımda bana bir link veriyor, o linke girince arayüz açılıyor. Promp girince (basitçe "apple" promptunu girdim.) CMD ekranında şu yazıyor:
Kod:
 Error completing request
*** Arguments: ('task(7sxhraoabro66lc)', 'apple', '', [], 20, 0, False, False, 1, 1, 7, -1.0, -1.0, 0, 0, 0, False, 512, 512, False, 0.7, 2, 'Latent', 0, 0, 0, 0, '', '', [], 0, False, False, 'positive', 'comma', 0, False, False, '', 1, '', [], 0, '', [], 0, '', [], True, False, False, False, 0) {}
    Traceback (most recent call last):
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\call_queue.py", line 55, in f
        res = list(func(*args, **kwargs))
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\call_queue.py", line 35, in f
        res = func(*args, **kwargs)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\txt2img.py", line 57, in txt2img
        processed = processing.process_images(p)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\processing.py", line 620, in process_images
        res = process_images_inner(p)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\processing.py", line 739, in process_images_inner
        samples_ddim = p.sample(conditioning=p.c, unconditional_conditioning=p.uc, seeds=p.seeds, subseeds=p.subseeds, subseed_strength=p.subseed_strength, prompts=p.prompts)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\processing.py", line 992, in sample
        samples = self.sampler.sample(self, x, conditioning, unconditional_conditioning, image_conditioning=self.txt2img_image_conditioning(x))
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 439, in sample
        samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args={
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 278, in launch_sampling
        return func()
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 439, in <lambda>
        samples = self.launch_sampling(steps, lambda: self.func(self.model_wrap_cfg, x, extra_args={
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\venv\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
        return func(*args, **kwargs)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\repositories\k-diffusion\k_diffusion\sampling.py", line 145, in sample_euler_ancestral
        denoised = model(x, sigmas[i] * s_in, **extra_args)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\venv\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
        return forward_call(*args, **kwargs)
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\sd_samplers_kdiffusion.py", line 190, in forward
        devices.test_for_nans(x_out, "unet")
      File "C:\Users\kkert\OneDrive\Masaüstü\stable-diffusion-webui\modules\devices.py", line 158, in test_for_nans
        raise NansException(message)
    modules.devices.NansException: A tensor with all NaNs was produced in Unet. This could be either because there's not enough precision to represent the picture, or because your video card does not support half type. Try setting the "Upcast cross attention layer to float32" option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.

---
Ne yapmam lazım?
Kullandığım model v2-1_768-ema-pruned.ckpt modeli. Modeli değiştirsem çözülür mü acaba?
 
Son düzenleyen: Moderatör:
webui-user.bat dosyasında set COMMANDLINE_ARGS= satırına --disable-nan-check ekleyin.
Düzgün çalışıyorsa başka bir şey yapmanıza gerek yok.
Çalışmıyorsa --no-half --no-half-vae de ekleyin.

Ek olarak Nvidia dışında bir ekran kartınız varsa --opt-sub-quad-attention eklemenizi de öneririm.
 
Teşekkür ederim. @173258 da kendi konusuna yazdığımda aynı önerilerde bulundu ama bunlar sorunu çözmedi. Ben de kullandığım 2.0 modelini silip 1.5 modelini indirdim ve sorunu çözdüm.
 
Son düzenleyen: Moderatör:

Bunu nasıl yapacağız? Bu dosyayı açınca CMD'den açılıyor. CMD'den mi hallediyoruz?
 
Bunu nasıl yapacağız? Bu dosyayı açınca CMD'den açılıyor. CMD'den mi hallediyoruz?
Birlikte aç seçeneğinde Metin Belgesi yoksa dosya uzantısını .txt yapıp dosyayı düzenleyin ve sonra dosya uzantısını tekrar .bat yapın.
 
Aynı sorunu yaşayan var ise;
Settings kısmına tıklayıp soldan stable diffusion menusune tıklıyorsunuz orada "Upcast cross attention layer to float32" kısmı var onun önündeki tiki işaretleyip kaydediyorsunuz.
sonrasında komple cmd ve browser'ı kapatıktan sonra .bat dosyasına --no-half eklerseniz düzeliyor.

8 gb vram altı ekran kartlarında bazı checkpointlerde özellikle 1024x2024 esnasında naz yapabiliyor.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…