732307.jpg

88a8ed15

GF  2024-03-10 20:40
(幸運興)

Stable Diffusion新手 內存不足 求教

處理器 : AMD Ryzen 5 7500F 6-Core Processor            
記憶體 : 32GB (16+16)
顯示卡 : NVIDIA GeForce RTX 4070 SUPER / 12GB

記憶體應該夠了,一些模型正常使用,一些模型跑的時候就算只跑一張也會,內存不足.

訊息如下
OutOfMemoryError: Allocation on device 0 would exceed allowed memory. (out of memory) Currently allocated : 9.56 GiB Requested : 973.41 MiB Device limit : 11.99 GiB Free (according to CUDA): 0 bytes PyTorch limit (set by user-supplied memory fraction) : 17179869184.00 GiB
用时:20.6 sec.
A: 10.58 GB, R: 12.56 GB, Sys: 12.0/11.9941 GB (100.0%)

OutOfMemoryError:设备0上的分配将超过允许的内存。(内存不足)当前分配:9.56 GiB请求:973.41 MiB设备限制:11.99 GiB可用(根据CUDA):0字节PyTorch限制(由用户提供的内存部分设置):17179869184.00 GiB
用时:20.6秒。

英文不好,所以看不是很明白,這是指顯卡的12G不夠用嗎?但是請求的只有973M,為何顯示內存不足

跪求大哥大姊幫忙.

1246081.jpg

小黄

B1F  2024-03-10 22:25
按道理来说,12G显存不该炸炉啊?我跑sdxl都能一分钟出1024*1024的图啊?你是在跑svd还是新出的sd cascade啊?从我的角度来说,你可以检查一下以下三个方面
1. xformer开了没,没开的话开开。webui是在bat文件里面加参数,comfyui是自动的,具体你可以搜一下
2. 模型换成量化版的。fp32的模型量化到fp16的运算精度,就只有原来一半的大小,省出好几G
3. pytorch更新到2.0以上没,pytorch2.0有个自动省显存的功能
如果还是不行,可以开lowvram模式,把虚拟内存当显存用。但是lowvram模式会慢几十倍,因为数据在总线上要多倒腾好几次。