-
Notifications
You must be signed in to change notification settings - Fork 4
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
pulid模型使用完后的显存占用量 #3
Comments
我现在没有机器无法进行测试,理论上应该不会,因为在ksampler节点执行之后对临时数据的引用都做了清理操作,当然具体释放时间取决于操作系统。 |
钩子的实现方式是和非flux版本的pulid插件一样的 |
谢谢你,我再研究对比下显存占用曲线。要在低配机器上防止OOM,要合理分配。 |
comfy开启后默认状态约0.5GB占用,pulid生成一次后,显存残留占用2.3GB。 |
我测试不出效果,因为我用的测试机显存比较充足,不过每次执行后显存剩余量是一样的,今天提交的代码支持了attn_mask也加了一些临时变量引用清除,你可以看看有没有效果(我测试没差别),引用次数影响应该不大,因为不是复制一份模型数据 |
你说的2.3G和1.5G指的是加了模型卸载节点之后占用量,还是运行后你显存的剩余量(不知道总显存多少),我在最后加了一个模型卸载节点,运行后,显存占用始终是3.5G |
我的数据是使用了简单采样工作流后总残留的显存数量(监控python.exe进程)。普通的模型卸载节点对这剩余数据没有改变。 |
我修改了一下[ComfyUI_BiRefNet_ll]在我的仓库。 里面简单的执行了to.device移动操作就可以把显存清空。 而且不影响反复使用。 但pulid这个情况就复杂多了。 |
是的,我正想告诉你,把eva_clip移到cpu可以释放一点,pulid_flux这个我也没想到好的办法,缺少to(gpu)和to(cpu)的合适位置 |
eva_clip先to(cpu)再del。就可以释放大约800MB,采样过程也同样会减少800MB,对小显存变友好。 pulid_flux在整个采样过程中都会被回调函数反复调用,不是太好办。总的来说目前问题不大。 |
优化了下模型管理,降了点 |
确实有下降! |
旧版pulid使用后会残留900MB,新版解决了污染模型问题。但似乎使用后残留显存更多了。应该有1.5G?
我尝试过清理但清不干净,是不是使用了钩子的问题这部分数据必须存放于gpu显存上。
感谢你,这个节点解决了我一个大难题!
The text was updated successfully, but these errors were encountered: