限制Tensorflow CPU和内存使用量

时间:2016-07-27 13:59:40

标签: python memory-management tensorflow cpu-usage

我已经看过几个关于使用Tensorflow的GPU内存的问题,但我已经将它安装在没有GPU支持的Pine64上。

这意味着我使用非常有限的资源(仅限CPU和RAM)运行它,而Tensorflow似乎想要一切,完全冻结我的机器。


有没有办法限制分配给Tensorflow的处理能力和内存量?类似于bazel自己的IP Messaging Client旗帜的东西?

2 个答案:

答案 0 :(得分:12)

这将创建一个一次运行一个操作的会话,每个操作只有一个线程

sess = tf.Session(config=
    tf.ConfigProto(inter_op_parallelism_threads=1,
                   intra_op_parallelism_threads=1))

不确定是否限制内存,它似乎按需分配,当我的网络需要100GB内存时,我已经让TensorFlow冻结我的机器,所以我的解决方案是制作需要更少内存的网络

答案 1 :(得分:0)

对于TensorFlow 2.x,以下thread中对此进行了回答:

在Tensorflow 2.x中,不再有会话。在程序开始时直接使用config API设置并行度。

import tensorflow as tf

tf.config.threading.set_intra_op_parallelism_threads(2)
tf.config.threading.set_inter_op_parallelism_threads(2)
with tf.device('/CPU:0'):
    model = tf.keras.models.Sequential([...

https://www.tensorflow.org/api_docs/python/tf/config/threading