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

[Bug]静态待机也会出现的严重的内存溢出,以及异常的非惰性计算 #164

Closed
XieDeWu opened this issue May 29, 2024 · 12 comments

Comments

@XieDeWu
Copy link

XieDeWu commented May 29, 2024

我确保硬件能满足软件运行需求,因爆内存,发现两个问题。
问题1:COM模块发生内存溢出,即使退出程序也不会回收内存,需要重启主机。
问题2:渲染计算是非惰性的,也不随着图片的切换而停止计算旧图并回收资源,因为顶点已经持久化了就没必要保持在内存中且一直计算,语义分割十来张图就本机器超出计算能力导致cpu满载
因不从事逆向工程,故所需的热力图与内存分析无法提供,仅作为异常汇报,如下图。
Snipaste_2024-05-29_10-26-07
Snipaste_2024-05-29_10-27-54
Snipaste_2024-05-29_10-30-30
Snipaste_2024-05-29_10-32-58

@yatengLG
Copy link
Owner

我这边没问题啊,不过我系统的linux的。

你方便留个联系方式不

@XieDeWu
Copy link
Author

XieDeWu commented May 29, 2024

邮箱就好,3331732340@qq.com,有需要提供辅助信息说一下就好
这边就win10,标准的按项目建conda python=3.11环境,安装项目依赖.
也就其中的torch三件套换成了gpu版本,也就是torch2.3.0 cu121 cuda
其他的没有了

@zhouyang986
Copy link

没有爆过内存,连续1000张也没有。python3.9 torch-2.2.0+cu121 cuda12.1

@zhouyang986
Copy link

另外,没别的意思——标注人物的部分,加一个person的类别会不会对分割效果有益?^ ^

@XieDeWu
Copy link
Author

XieDeWu commented May 29, 2024

另外,没别的意思——标注人物的部分,加一个person的类别会不会对分割效果有益?^ ^

本质上还是0样本用sam半自动,所以就没必要。
现在只能单选区,不如支持多选区并,且,异或,
现在是多次做同一个标签的选区,经常重复但是导出模板结果是并起来的,凑合着用。
现在的话,如果比如我对人物我做完ai选区后,没办法用矩形或多边形排除脖子以下的部位,只能各个小选区重叠成大选区。
毕竟不是ps,功能没有很正常,但是混合多类型选区,支持合并,排除,取交会很方便。
比如我选区1只圈选身体,然后选区2ai选人物,取交集就是我想要的部分素材

@yatengLG
Copy link
Owner

yatengLG commented May 29, 2024

另外,没别的意思——标注人物的部分,加一个person的类别会不会对分割效果有益?^ ^

本质上还是0样本用sam半自动,所以就没必要。 现在只能单选区,不如支持多选区并,且,异或, 现在是多次做同一个标签的选区,经常重复但是导出模板结果是并起来的,凑合着用。 现在的话,如果比如我对人物我做完ai选区后,没办法用矩形或多边形排除脖子以下的部位,只能各个小选区重叠成大选区。 毕竟不是ps,功能没有很正常,但是混合多类型选区,支持合并,排除,取交会很方便。 比如我选区1只圈选身体,然后选区2ai选人物,取交集就是我想要的部分素材

支持多轮廓保存,https://github.com/yatengLG/ISAT_with_segment_anything/blob/master/docs/%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E.md#3%E8%BD%AE%E5%BB%93%E4%BF%9D%E5%AD%98%E6%A8%A1%E5%BC%8F

另外,你说的,异或的确没做。但是支持相互遮挡
https://github.com/yatengLG/ISAT_with_segment_anything/blob/master/docs/%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E.md#4%E9%81%AE%E6%8C%A1%E5%85%B3%E7%B3%BB%E8%B0%83%E6%95%B4

另外,你说的ai人物选区后,没办法用矩形或多边形排除脖子一下部分。这个可以尝试重绘功能:
点击R开启重绘模式,选定一个顶点作为起始点,开始绘制,然后选择另一个顶点作为终止点, 过程中绘制的顶点会替换掉其他顶点。
https://github.com/yatengLG/ISAT_with_segment_anything/blob/master/docs/%E5%8A%9F%E8%83%BD%E8%AF%B4%E6%98%8E.md#15%E9%87%8D%E7%BB%98

@XieDeWu
Copy link
Author

XieDeWu commented May 29, 2024

#157 (comment)
应该是跟这个issus一回事,这边也试过将多边形选区往图外拖动,或顶点往图外选点几次,但是没啥反应还得挪回图内,对坐标比例点加个max(min(a,1),0)可能会好点

@yatengLG
Copy link
Owner

#157 (comment) 应该是跟这个issus一回事,这边也试过将多边形选区往图外拖动,或顶点往图外选点几次,但是没啥反应还得挪回图内,对坐标比例点加个max(min(a,1),0)可能会好点

这个肯定是限制过了,不然就能拖到图外。
无论是多边形还是顶点,点击,都已经限制在图范围内了。

@zhouyang986
Copy link

另外,没别的意思——标注人物的部分,加一个person的类别会不会对分割效果有益?^ ^

本质上还是0样本用sam半自动,所以就没必要。 现在只能单选区,不如支持多选区并,且,异或, 现在是多次做同一个标签的选区,经常重复但是导出模板结果是并起来的,凑合着用。 现在的话,如果比如我对人物我做完ai选区后,没办法用矩形或多边形排除脖子以下的部位,只能各个小选区重叠成大选区。 毕竟不是ps,功能没有很正常,但是混合多类型选区,支持合并,排除,取交会很方便。 比如我选区1只圈选身体,然后选区2ai选人物,取交集就是我想要的部分素材

加一个person的类别会不会对训练的模型的分割效果有益?

@zhouyang986
Copy link

看来你也想要 部分图片的SAM啊~~

@Alias-z
Copy link
Contributor

Alias-z commented May 30, 2024

#157 (comment) 应该是跟这个issus一回事,这边也试过将多边形选区往图外拖动,或顶点往图外选点几次,但是没啥反应还得挪回图内,对坐标比例点加个max(min(a,1),0)可能会好点

那个issue也是python 3.11 你们试试3.10? 我一直用3.10在很多机子上都没问题

@XieDeWu
Copy link
Author

XieDeWu commented May 31, 2024

看来你也想要 部分图片的SAM啊~~

另外,没别的意思——标注人物的部分,加一个person的类别会不会对分割效果有益?^ ^

本质上还是0样本用sam半自动,所以就没必要。 现在只能单选区,不如支持多选区并,且,异或, 现在是多次做同一个标签的选区,经常重复但是导出模板结果是并起来的,凑合着用。 现在的话,如果比如我对人物我做完ai选区后,没办法用矩形或多边形排除脖子以下的部位,只能各个小选区重叠成大选区。 毕竟不是ps,功能没有很正常,但是混合多类型选区,支持合并,排除,取交会很方便。 比如我选区1只圈选身体,然后选区2ai选人物,取交集就是我想要的部分素材

提了个demo草案,保证能跑就是了

@XieDeWu XieDeWu closed this as completed Jun 3, 2024
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

4 participants