详解tf.device()指定tensorflow运行的GPU或CPU设备实现

 更新时间:2021年02月20日 11:12:19   作者:-牧野-  
这篇文章主要介绍了详解tf.device()指定tensorflow运行的GPU或CPU设备实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在tensorflow中,我们可以使用 tf.device() 指定模型运行的具体设备,可以指定运行在GPU还是CUP上,以及哪块GPU上。

设置使用GPU

使用 tf.device('/gpu:1') 指定Session在第二块GPU上运行:

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)

ConfigProto() 中参数 log_device_placement=True  会打印出执行操作所用的设备,以上输出:


如果安装的是GPU版本的tensorflow,机器上有支持的GPU,也正确安装了显卡驱动、CUDA和cuDNN,默认情况下,Session会在GPU上运行:

import tensorflow as tf
 
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)

默认在GPU:0上执行:


设置使用cpu

tensorflow中不同的GPU使用/gpu:0和/gpu:1区分,而CPU不区分设备号,统一使用 /cpu:0

import tensorflow as tf
 
with tf.device('/cpu:0'):
  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)

到此这篇关于详解tf.device()指定tensorflow运行的GPU或CPU设备实现的文章就介绍到这了,更多相关tensorflow运行GPU或CPU内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • anaconda打开闪退的解决过程

    anaconda打开闪退的解决过程

    这篇文章主要给大家介绍了关于anaconda打开闪退的解决过程,文中通过实例代码介绍的非常详细,对大家学习或者使用anaconda具有一定的参考学习价值,需要的朋友可以参考下
    2022-09-09
  • python中hashlib模块用法示例

    python中hashlib模块用法示例

    这篇文章主要介绍了python中hashlib模块用法示例,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • python中@符号实例详解

    python中@符号实例详解

    @是一个装饰器,针对函数,起调用传参的作用,下面这篇文章主要给大家介绍了关于python中@符号的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • python执行get提交的方法

    python执行get提交的方法

    这篇文章主要介绍了python执行get提交的方法,实例分析了Python通过get传递数据的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • opencv python截取圆形区域的实现

    opencv python截取圆形区域的实现

    本文主要介绍了opencv python截取圆形区域的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 对python修改xml文件的节点值方法详解

    对python修改xml文件的节点值方法详解

    今天小编就为大家分享一篇对python修改xml文件的节点值方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python画图——实现在图上标注上具体数值的方法

    python画图——实现在图上标注上具体数值的方法

    今天小编就为大家分享一篇python画图——实现在图上标注上具体数值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python入门教程(二十六)Python的模块

    Python入门教程(二十六)Python的模块

    这篇文章主要介绍了Python入门教程(二十六)Python的模块,Python是一门非常强大好用的语言,也有着易上手的特性,本文为入门教程,需要的朋友可以参考下
    2023-04-04
  • 在Python中使用第三方模块的教程

    在Python中使用第三方模块的教程

    这篇文章主要介绍了在Python中使用第三方模块的教程,是Python学习当中的基础知识,需要的朋友可以参考下
    2015-04-04
  • 深入了解Python中frozenset的功能与用法

    深入了解Python中frozenset的功能与用法

    在Python中,frozenset是一种与set类似的数据类型,但具有不可变性,本文将详细介绍frozenset的作用、用法以及与set的区别,感兴趣的可以了解下
    2024-01-01

最新评论