时间:2021-05-23
1.指定GPU运算
如果安装的是GPU版本,在运行的过程中TensorFlow能够自动检测。如果检测到GPU,TensorFlow会尽可能的利用找到的第一个GPU来执行操作。
如果机器上有超过一个可用的GPU,除了第一个之外的其他的GPU默认是不参与计算的。为了让TensorFlow使用这些GPU,必须将OP明确指派给他们执行。with......device语句能够用来指派特定的CPU或者GPU执行操作:
import tensorflow as tfimport numpy as npwith tf.Session() as sess: with tf.device('/cpu:0'): a = tf.placeholder(tf.int32) b = tf.placeholder(tf.int32) add = tf.add(a, b) sum = sess.run(add, feed_dict={a: 3, b: 4}) print(sum)设备的字符串标识,当前支持的设备包括以下的几种:
cpu:0 机器的第一个cpu。
gpu:0 机器的第一个gpu,如果有的话
gpu:1 机器的第二个gpu,依次类推
类似的还有tf.ConfigProto来构建一个config,在config中指定相关的GPU,并且在session中传入参数config=“自己创建的config”来指定gpu操作
其中,tf.ConfigProto函数的参数如下:
log_device_placement=True: 是否打印设备分配日志
allow_soft_placement=True: 如果指定的设备不存在,允许TF自动分配设备
import tensorflow as tfimport numpy as npconfig = tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)with tf.Session(config=config) as sess: a = tf.placeholder(tf.int32) b = tf.placeholder(tf.int32) add = tf.add(a, b) sum = sess.run(add, feed_dict={a: 3, b: 4}) print(sum)2.设置GPU使用资源
上文的tf.ConfigProto函数生成的config之后,还可以设置其属性来分配GPU的运算资源,如下代码就是按需分配
import tensorflow as tfimport numpy as npconfig = tf.ConfigProto(log_device_placement=True, allow_soft_placement=True)config.gpu_options.allow_growth = Truewith tf.Session(config=config) as sess: a = tf.placeholder(tf.int32) b = tf.placeholder(tf.int32) add = tf.add(a, b) sum = sess.run(add, feed_dict={a: 3, b: 4}) print(sum)使用allow_growth option,刚开始会分配少量的GPU容量,然后按需要慢慢的增加,有与不会释放内存,随意会导致内存碎片。
同样,上述的代码也可以在config创建时指定,
import tensorflow as tfimport numpy as npgpu_options = tf.GPUOptions(allow_growth=True)config = tf.ConfigProto(gpu_options=gpu_options)with tf.Session(config=config) as sess: a = tf.placeholder(tf.int32) b = tf.placeholder(tf.int32) add = tf.add(a, b) sum = sess.run(add, feed_dict={a: 3, b: 4}) print(sum)我们还可以给gpu分配固定大小的计算资源。
gpu_options = tf.GPUOptions(allow_growth=True, per_process_gpu_memory_fraction=0.5)上述代码的含义是分配给tensorflow的GPU显存大小为:GPU的实际显存*0.5
到此这篇关于tensorflow指定CPU与GPU运算的方法实现的文章就介绍到这了,更多相关tensorflow指定CPU与GPU运算内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、硬件要求首先,TensorFlow-gpu不同于CPU版本的地方在于,GPU版本必须有GPU硬件的支撑。TensorFlow对NVIDIA显卡的支持较为完备
更新tensorflow后,出现tensorboard不可用情况(tensorflow-cpu1.4->tensorflow-gpu1.7)尝试了更新tenso
在tensorflow中,我们可以使用tf.device()指定模型运行的具体设备,可以指定运行在GPU还是CUP上,以及哪块GPU上。设置使用GPU使用tf.
在tensorflow中,默认指定占用所有的GPU,如需指定占用的GPU,可以在命令行中:exportCUDA_VISIBLE_DEVICES=1这样便是只占用
问题描述:为了把之前的CPU版本的tensorflow卸载,换成GPU版本的tensorflow,经历了一番折腾。BUG1Couldnotinstallpack