Python 2.7 Tensorflow分配所有GPU,尽管另有说明
我想运行一个用Python编写并使用Tensorflow的脚本。由于服务器与其他同事共享,我想限制我的脚本使用最多1/3的服务器GPU内存 为了实现这一点,我做了以下工作:Python 2.7 Tensorflow分配所有GPU,尽管另有说明,python-2.7,tensorflow-gpu,Python 2.7,Tensorflow Gpu,我想运行一个用Python编写并使用Tensorflow的脚本。由于服务器与其他同事共享,我想限制我的脚本使用最多1/3的服务器GPU内存 为了实现这一点,我做了以下工作: 使用tf.Graph()作为默认值(): gpu\u选项=tf.gpu选项(允许增长=True,每进程\u gpu\u内存\u分数=0.3) 会话_conf=tf.confproto( 允许软放置=真, log_device-placement=False, gpu_选项=gpu_选项) 将tf.Session(conf=S
使用tf.Graph()作为默认值():
gpu\u选项=tf.gpu选项(允许增长=True,每进程\u gpu\u内存\u分数=0.3)
会话_conf=tf.confproto(
允许软放置=真,
log_device-placement=False,
gpu_选项=gpu_选项)
将tf.Session(conf=Session\u conf)作为sess:
#一些东西
但是,当我通过nvidiasmi
命令检查GPU内存使用情况时,它表示所有内存都已分配。服务器上有2个GPU,我的脚本似乎完全分配了这两个GPU。我做错了什么
我上面写的不是脚本的第一行代码。我首先做一些数据处理。但是如果我把它放在一开始,它也不会改变。一个部分答案是在调用名为
$CUDA\u VISIBLE\u DEVICES=0的脚本之前设置一个环境变量。使用此选项,可以将使用限制为指定的GPU-ID(本例中为GPU 0)
欲了解更多信息,请参阅