我想运行一个用Python编写的脚本并使用Tensorflow。即使服务器与其他同事共享,我想限制我的脚本最多使用服务器的三分之一GPU内存。尽管有其他说法,但Tensorflow会分配所有GPU
为了实现这个目标,我做了以下内容:
with tf.Graph().as_default(): gpu_options = tf.GPUOptions(allow_growth=True, per_process_gpu_memory_fraction=0.3) session_conf = tf.ConfigProto( allow_soft_placement=True, log_device-placement=False, gpu_options=gpu_options) with tf.Session(conf=session_conf) as sess: # some stuff
但是当我通过nvidia-smi
命令检查GPU内存使用它说,它的所有分配。服务器上有2个GPU,看起来我的脚本完全分配了它们两个。我究竟做错了什么 ?
我上面写的不是脚本的第一行代码。我首先做一些数据处理。但是如果我把它放在一开始就不会改变。