详解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 相关文章推荐
python中的闭包用法实例详解
May 05 Python
python获取外网ip地址的方法总结
Jul 02 Python
python实现实时监控文件的方法
Aug 26 Python
Python 多线程的实例详解
Sep 07 Python
wxPython之解决闪烁的问题
Jan 15 Python
Python pyinotify模块实现对文档的实时监控功能方法
Oct 13 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
Python绘制堆叠柱状图的实例
Jul 09 Python
Django-migrate报错问题解决方案
Apr 21 Python
pandas创建DataFrame的7种方法小结
Jun 14 Python
浅谈keras中loss与val_loss的关系
Jun 22 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中常用编辑器推荐
2007/01/02 PHP
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
PHP插入排序实现代码
2013/04/04 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
javascript eval函数深入认识
2009/02/21 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
用Python实现斐波那契(Fibonacci)函数
2016/03/25 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
超简单的Python HTTP服务
2019/07/22 Python
python super的使用方法及实例详解
2019/09/25 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
Keras实现DenseNet结构操作
2020/07/06 Python
印度尼西亚在线时尚购物网站:ZALORA印尼
2016/08/02 全球购物
结构和类有什么异同
2012/07/16 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
2016/03/12 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
幼儿园清明节活动总结
2014/07/04 职场文书
人力资源部工作计划
2019/05/14 职场文书
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python