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


Posted in Python onFebruary 20, 2021

在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  会打印出执行操作所用的设备,以上输出:

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

如果安装的是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上执行:

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

设置使用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设备实现

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

Python 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
python中的break、continue、exit()、pass全面解析
Aug 05 Python
Python列表生成式与生成器操作示例
Aug 01 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python判断字符串是否xx开始或结尾的示例
Aug 08 Python
Python更换pip源方法过程解析
May 19 Python
Python通过字典映射函数实现switch
Nov 06 Python
python基础学习之生成器与文件系统知识总结
May 25 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 #Python
安装不同版本的tensorflow与models方法实现
Feb 20 #Python
python爬虫scrapy基本使用超详细教程
Feb 20 #Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 #Python
conda安装tensorflow和conda常用命令小结
Feb 20 #Python
TensorFlow低版本代码自动升级为1.0版本
Feb 20 #Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 #Python
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
2017/08/01 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
elementui的默认样式修改方法
2018/02/23 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
通过python下载FTP上的文件夹的实现代码
2013/02/10 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
总结Python编程中函数的使用要点
2016/03/20 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
让代码变得更易维护的7个Python库
2018/10/09 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
Python根据服务获取端口号的方法
2019/09/25 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
公路绿化方案
2014/05/12 职场文书
市场推广策划方案
2014/06/02 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
iPhone13将有八大升级
2021/04/15 数码科技
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python