Python 限制MXNet GPU内存使用

Python 限制MXNet GPU内存使用,python,mxnet,Python,Mxnet,有没有办法限制此模型使用的内存分配,以允许并发模型运行? 我目前正在使用的是基于MXNet的 加载第一个模型后,GPU Mem统计数据反映: utilization.gpu 74 utilization.memory 0 memory.free 13353 memory.used 2777 memory.total 16130 在通过运行第一个推断之后,它会膨胀,但是GPU利用率仍然非常低,在3: utilization.gpu 3 utilization.memory 0 memory.fre

有没有办法限制此模型使用的内存分配,以允许并发模型运行?

我目前正在使用的是基于MXNet的

加载第一个模型后,GPU Mem统计数据反映:

utilization.gpu 74 utilization.memory 0 memory.free 13353 memory.used 2777 memory.total 16130

在通过运行第一个推断之后,它会膨胀,但是
GPU利用率仍然非常低,在
3

utilization.gpu 3 utilization.memory 0 memory.free 9789 memory.used 6341 memory.total 16130

这让我觉得我们应该能够在同一个GPU上加载更多的模型,但不幸的是,内存已经分配给MXNet


尝试的解决方案:

  • 在调用模型之间尝试
    ctx.empty\u cache()
  • 正在尝试
    MXNET\u GPU\u MEM\u POOL\u RESERVE:60
    -
  • 使用
    gc.collect()
  • 但是这些都不起作用。

    通过观察,答案似乎是否定的


    您可以尝试设置
    MXNET\u MEMORY\u OPT=1
    MXNET\u BACKWARD\u DO\u MIRROR=1
    ,这些都记录在我共享的链接的“内存优化”部分中

    此外,请确保
    min(MXNET\u EXEC\u NUM\u TEMP,MXNET\u GPU\u WORKER\u NTHREADS)=1
    对您而言为真,如果您使用此环境变量的默认值,则应为真