TensorFlow笔记4:显卡使用

匿名 (未验证) 提交于 2019-12-03 00:25:02

tensorflow

tensorflow可以指定训练使用的显卡。如果一台电脑具有多个NVIDIA的GPUs,用户想要指定需要使用的GPU,那么在python中可以写如下语句。这个语句设置了当前程序可见的显卡。

import os os.environ["CUDA_VISIBLE_DEVICES"]="0"

然后使用tf.device来指定训练的gpu ID。但是如果只指定ID,而没有屏蔽掉其他的显卡的话,TF依然会占用所有的显卡资源,但是只在当前显卡下运行。

tf.device('/gpu:0')

比如

import tensorflow as tf   with tf.device('/gpu:1'):       v1 = tf.constant([1.0, 2.0, 3.0], shape=[3], name='v1')       v2 = tf.constant([1.0, 2.0, 3.0], shape=[3], name='v2')       sumV12 = v1 + v2        with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:           print sess.run(sumV12) 

此外,还可以指定多显卡同时工作
参考:https://blog.csdn.net/u011961856/article/details/78011270

for gpu_ind in range(0, num_gpus):     with tf.device("/gpu:{}".format(gpu_ind)):

或者

 for i in xrange(FLAGS.num_gpus):      with tf.device('/gpu:%d' % i): 

为了避免占用所有的显存,可以设置显存自适应,按比例的自适应方法如下:

config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.4 session = tf.Session(config=config)

或者使用按照需求的自适应

config = tf.ConfigProto() config.gpu_options.allow_growth = True session = tf.Session(config=config)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!