我有两个GPU,我只想用一个GPU通过张量流来训练网络。当我训练它,在代码中使用两个GPU的所有的记忆,但只有一个GPU工作:tensorflow:在一个GPU上训练网络,但占用另一个GPU的空间
我不知道为什么,以及如何解决这个问题。
我有两个GPU,我只想用一个GPU通过张量流来训练网络。当我训练它,在代码中使用两个GPU的所有的记忆,但只有一个GPU工作:tensorflow:在一个GPU上训练网络,但占用另一个GPU的空间
我不知道为什么,以及如何解决这个问题。
默认情况下,tensorflow会占用所有可用GPU的内存。您可以根据@ sygi的回答设置允许增长,或者根据雅罗斯拉夫的评论,只允许其中一个GPU对tensorflow可见。并根据this question。
最后,我使用两种方法。 –
尝试设置:
config = tf.ConfigProto()
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)
在question。
在运行您的脚本之前执行'export CUDA_VISIBLE_DEVICES = 0' –