gpt4 book ai didi

python - python Tensorflow工作簿执行后取消分配内存

转载 作者:行者123 更新时间:2023-12-02 20:17:43 34 4
gpt4 key购买 nike

为了限制内存使用,我阅读了How to prevent tensorflow from allocating the totality of a GPU memory?并尝试了以下代码:

# Assume that you have 12GB of GPU memory and want to allocate ~4GB:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

这些命令确实释放了内存,但是代码完成后并没有取消分配内存。此问题描述:
https://github.com/tensorflow/tensorflow/issues/3701建议的修复方法是更新驱动程序
“在将GPU驱动程序从352.79升级到367.35(最新版本)后,问题消失了。 “
不幸的是,我无法更新驱动程序的最新版本。这个问题解决了吗?

我还考虑了将可用内存限制为docker容器。
阅读 https://devblogs.nvidia.com/parallelforall/nvidia-docker-gpu-server-application-deployment-made-easy/指出“容器可以限制在系统上的一组有限资源(例如,一个CPU内核和1GB内存)”,但是内核当前不支持此功能,在这里我尝试为新的docker实例添加1GB内存:
nvidia-docker run -m 1024m -d -it -p 8889:8889 -v /users/user1234/jupyter:/notebooks --name tensorflow-gpu-1GB tensorflow/tensorflow:latest-cpu

但这似乎不可能收到警告:
警告:您的内核不支持交换限制功能,没有交换就限制了内存。”

tensorflow Python工作簿完成后是否有释放内存的命令?
Update

取消/重新启动笔记本计算机后,内存将被取消分配。但是如何在笔记本内完成后释放内存。

最佳答案

除非您在对象上使用delxdel,否则Ipython和jupyter笔记本将不会释放内存:

https://ipython.org/ipython-doc/3/interactive/magics.html

%xdel: Delete a variable, trying to clear it from anywhere that IPython’s machinery has references to it. By default, this uses the identity of the named object in the user namespace to remove references held under other names. The object is also removed from the output history.

关于python - python Tensorflow工作簿执行后取消分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246767/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com