python共享内存mmap_python - IPC在单独的Docker容器中的Python脚本之间共享内存 - 堆栈内存溢出...

问题

我已经编写了一个神经网络分类器,该分类器可以获取海量图像(每张图像约1-3 GB),将其打补丁,然后分别通过网络传递这些补丁。 培训的进行过程非常缓慢,因此我对其进行了基准测试,发现用大约50秒的时间将补丁从一个图像加载到内存(使用Openslide库 ),而仅需0.5秒的时间就可以将它们通过模型。

但是,我正在使用具有1.5Tb RAM的超级计算机,其中仅使用了约26 Gb。 数据集总计约500Gb。 我的想法是,如果我们可以将整个数据集加载到内存中,它将极大地加快训练速度。 但是我正在与一个研究团队合作,我们正在多个Python脚本之间进行实验。 因此,理想情况下,我想将一个脚本中的整个数据集加载到内存中,并能够在所有脚本中对其进行访问。

更多细节:

我们在单独的Docker容器中(在同一台机器上)运行各个实验,因此必须跨多个容器访问数据集。

图像以.tif格式存储。

我们只需要阅读图像,而无需编写。

我们只需要一次访问数据集的一小部分。

可能的解决方案

我发现了很多关于如何在多个Python脚本之间共享Python对象或内存中的原始数据的文章:

跨脚本共享Python数据

多处理模块中具有SyncManager和BaseManager的服务器进程|

肯定:可以由网络上不同计算机上的进程共享(可以由多个容器共享吗?)

可能的问题:根据文档显示,速度比使用共享内存慢。 如果我们使用客户端/服务器在多个容器之间共享内存,那会比从磁盘读取所有脚本的速度快吗?

可能的问题:根据此答案 , M

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值