HOperatorSet.GenRandomRegions 有内存泄漏或缓存,释放不掉

简介: HOperatorSet.GenRandomRegions 有内存泄漏或缓存,释放不掉

开发环境

VS2022 win7 halcon12 halcon18

随机生成100个园

不释放

private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject ho_regions;
                HOperatorSet.GenRandomRegions(out ho_regions, "circle", 10, 20, 10, 30, -0.7854, 0.7854, 1000*1000, 5210, 5210);
                int iObjNum = WHCSHalCon.Base.CountObj(ho_regions);
                // regions.Dispose();     
            }
            butTemp.Enabled = true;
        }

内存大约增加900M。

释放

private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject ho_regions;
                HOperatorSet.GenRandomRegions(out ho_regions, "circle", 10, 20, 10, 30, -0.7854, 0.7854, 1000*1000, 5210, 5210); 
                ho_regions.Dispose();     
            }
            butTemp.Enabled = true;
        }

似乎没效果,内存还是增加了900M。

不裁剪,宽高限定为521

private void butTemp_Click(object sender, EventArgs e)
        {
            butTemp.Enabled = false;
            //HOperatorSet.SetSystem("clip_region", "false");
            {
                HObject ho_regions;
                HOperatorSet.GenRandomRegions(out ho_regions, "circle", 10, 20, 10, 30, -0.7854, 0.7854, 1000*1000, 521, 521); 
                ho_regions.Dispose();     
            }
            butTemp.Enabled = true;
        }

似乎没效果,内存还是增加了900M。

宽高限定为512

除生成的区域数量外,全部用halcon样例的默认值。

似乎没效果,内存还是增加了900M。


相关文章
|
7月前
|
缓存 并行计算 PyTorch
PyTorch CUDA内存管理优化:深度理解GPU资源分配与缓存机制
本文深入探讨了PyTorch中GPU内存管理的核心机制,特别是CUDA缓存分配器的作用与优化策略。文章分析了常见的“CUDA out of memory”问题及其成因,并通过实际案例(如Llama 1B模型训练)展示了内存分配模式。PyTorch的缓存分配器通过内存池化、延迟释放和碎片化优化等技术,显著提升了内存使用效率,减少了系统调用开销。此外,文章还介绍了高级优化方法,包括混合精度训练、梯度检查点技术及自定义内存分配器配置。这些策略有助于开发者在有限硬件资源下实现更高性能的深度学习模型训练与推理。
1443 0
|
4月前
|
存储 缓存 监控
手动清除Ubuntu系统中的内存缓存的步骤
此外,只有系统管理员或具有适当权限的用户才能执行这些命令,因为这涉及到系统级的操作。普通用户尝试执行这些操作会因权限不足而失败。
837 22
|
存储 缓存 中间件
|
存储 缓存 监控
|
存储 缓存 API
LangChain-18 Caching 将回答内容进行缓存 可在内存中或数据库中持久化缓存
LangChain-18 Caching 将回答内容进行缓存 可在内存中或数据库中持久化缓存
194 6
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
157 1
|
缓存 开发框架 .NET
看看 Asp.net core Webapi 项目如何优雅地使用内存缓存
看看 Asp.net core Webapi 项目如何优雅地使用内存缓存
292 1
|
缓存 编解码 测试技术
使用Go实现健壮的内存型缓存
使用Go实现健壮的内存型缓存
173 2
|
存储 缓存 监控
|
存储 缓存 NoSQL
Java中的内存数据库与缓存技术
Java中的内存数据库与缓存技术

热门文章

最新文章