Skip to content
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

啥时候增加个释放显存,内存的功能。 #5

Open
forfai opened this issue Apr 28, 2024 · 4 comments
Open

啥时候增加个释放显存,内存的功能。 #5

forfai opened this issue Apr 28, 2024 · 4 comments

Comments

@forfai
Copy link

forfai commented Apr 28, 2024

可不可以增加自动释放显存的功能,AI模型加载后就吃掉了8G显存,没剩下多少给绘图模型了,显存都干爆了。还有不用时,能否从内存卸载掉模型,内存也很吃紧。模型能不能用量化缩小到2.6G的,这个7G模型,好大。

@MindMeldMagus
Copy link

微信截图_20240429194448
可以这么修改,不过这么改只会释放掉phi3的模型,如果执行一次绘图任务,绘图的模型是无法释放的,所以第二次修改描述后还是会让显存增加然后再释放,对于小显存的人来说这个还是不行,我也没找到加载大模型的comfyui代码,因此也只能做到这个样子,每次经过这个zho大佬的节点后模型占用的显存会释放,只针对绘图的工作流,对话的工作流不建议这么改,不然没法记录上下文连续对话

@MindMeldMagus
Copy link

微信截图_20240429195027
少说了一个点,按我那么修改代码后,需要删除 phi3模型加载节点和Phi3-mini-4k节点,重新再创建Phi3-mini-4k,这样就能得到释放phi3模型的效果了

@forfai
Copy link
Author

forfai commented Apr 30, 2024

微信截图_20240429194448可以这么修改,不过这么改只会释放掉phi3的模型,如果执行一次绘图任务,绘图的模型是无法释放的,所以第二次修改描述后还是会让显存增加然后再释放,对于小显存的人来说这个还是不行,我也没找到加载大模型的comfyui代码,因此也只能做到这个样子,每次经过这个zho大佬的节点后模型占用的显存会释放,只针对绘图的工作流,对话的工作流不建议这么改,不然没法记录上下文连续对话

对的,我之前用ComfyUI-IF_AI_tools插件时,它就是这样工作,先加载AI模型到GPU进行AI解析,解析完了就马上释放掉GPU占用,然后Comfyui后面的就正常加载绘图模型进行渲染了。改代码对我来说太难了,我也只是初步Python入门一点而已,在代码里面修改个模型路径还行。其它的只能等大佬更新这个功能了。

@yidu-uu
Copy link

yidu-uu commented Sep 1, 2024

{
"last_node_id": 10,
"last_link_id": 9,
"nodes": [
{
"id": 10,
"type": "workflow/GPU显存清理节点",
"pos": {
"0": 755,
"1": 430,
"2": 0,
"3": 0,
"4": 0,
"5": 0,
"6": 0,
"7": 0,
"8": 0,
"9": 0
},
"size": {
"0": 210,
"1": 175.57611083984375
},
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "模型",
"type": "MODEL",
"link": null,
"label": "模型"
},
{
"name": "CLIP",
"type": "CLIP",
"link": null,
"label": "CLIP"
}
],
"outputs": [],
"properties": {
"Node name for S&R": "workflow/GPU显存清理节点"
},
"widgets_values": [
520802577606563,
"randomize",
1,
6.65,
"euler",
"normal",
1,
16,
16,
1,
"使用此节点需要将其余节点忽略(但需要保留一个大模型进行连接)!!\n使用此节点前一定注意检查步数!!!",
true
]
}
],
"links": [],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.7972024500000005,
"offset": [
429.5944476872362,
189.03676867752267
]
}
},
"version": 0.4
}
可以试试这个.json文件在你不需要进行工作时但任然占用显存时可以使用这个节点,它主要还是使用采样器但步数设为1并且忽略掉其余节点只保留大模型和此节点进行采样这样就可以刷新掉其余节点的显存占用

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants