我有一个训练算法,需要将巨大的数据集加载到内存中,然后将其转换为另一种格式。执行此操作后,我可以释放用于保存数据集第一个副本的内存。这个单一操作只花费我总计算时间的一小部分,但需要分配的内存是我的数据集消耗的两倍。有没有人成功地交换到磁盘来处理这样的情况?
我知道 Sagemaker 正在训练实例上运行我的 docker 容器,并且我尝试将
ContainerArguments=["--memory-swap", "1g"]
传递给 Estimator
的构造函数。我记录了此更改之前和之后 swapon -s
的输出,但在任何一种情况下都不会产生任何输出。
Estimator 的
container_arguments
是将参数传递给入口点 (container_entry_point
),而不是容器运行时,所以你传递的 --memory-swap
没有达到预期的效果。