我已经看过几个关于使用Tensorflow的GPU内存的问题,但我已经将它安装在没有GPU支持的Pine64上。
这意味着我使用非常有限的资源(仅限CPU和RAM)运行它,而Tensorflow似乎想要一切,完全冻结我的机器。
有没有办法限制分配给Tensorflow的处理能力和内存量?类似于bazel自己的IP Messaging Client
旗帜的东西?
答案 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