Tensorflow中tf.ConfigProto()的用法详解


Posted in Python onFebruary 06, 2020

参考Tensorflow Machine Leanrning Cookbook

tf.ConfigProto()主要的作用是配置tf.Session的运算方式,比如gpu运算或者cpu运算

具体代码如下:

import tensorflow as tf

session_config = tf.ConfigProto(
   log_device_placement=True,
   inter_op_parallelism_threads=0,
   intra_op_parallelism_threads=0,
   allow_soft_placement=True)

sess = tf.Session(config=session_config)

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2,3], name='b')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3,2], name='b')

c = tf.matmul(a,b)
print(sess.run(c))

具体解释

log_device_placement=True

设置为True时,会打印出TensorFlow使用了那种操作

inter_op_parallelism_threads=0

设置线程一个操作内部并行运算的线程数,比如矩阵乘法,如果设置为0,则表示以最优的线程数处理

intra_op_parallelism_threads=0

设置多个操作并行运算的线程数,比如 c = a + b,d = e + f . 可以并行运算

allow_soft_placement=True

有时候,不同的设备,它的cpu和gpu是不同的,如果将这个选项设置成True,那么当运行设备不满足要求时,会自动分配GPU或者CPU。

其他选项

当使用GPU时候,Tensorflow运行自动慢慢达到最大GPU的内存

session_config.gpu_options.allow_growth = True

当使用GPU时,设置GPU内存使用最大比例

session_config.gpu_options.per_process_gpu_memory_fraction = 0.4

是否能够使用GPU进行运算

tf.test.is_built_with_cuda()

另外的处理方法

import tensorflow as tf

sess = tf.Session()

with tf.device('/cpu:0'):
  a = tf.constant([1.0, 3.0, 5.0], shape=[1, 3])
  b = tf.constant([2.0, 4.0, 6.0], shape=[3, 1])

  with tf.device('/gpu:0'):
    c = tf.matmul(a, b)
    c = tf.reshape(c, [-1])

  with tf.device('/gpu:0'):
    d = tf.matmul(b, a)
    flat_d = tf.reshape(d, [-1])

  combined = tf.multiply(c, flat_d)
  print(sess.run(combined))

以上这篇Tensorflow中tf.ConfigProto()的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
Python计算三角函数之asin()方法的使用
May 15 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
python执行使用shell命令方法分享
Nov 08 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
python实现对csv文件的列的内容读取
Jul 04 Python
Django给admin添加Action的步骤详解
May 01 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Python多线程thread及模块使用实例
Apr 28 Python
python 带时区的日期格式化操作
Oct 23 Python
python实现计算器简易版
Dec 17 Python
python如何做代码性能分析
Apr 26 Python
Python continue语句实例用法
Feb 06 #Python
Tensorflow限制CPU个数实例
Feb 06 #Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 #Python
python range实例用法分享
Feb 06 #Python
tensorflow 报错unitialized value的解决方法
Feb 06 #Python
TensorFlow实现保存训练模型为pd文件并恢复
Feb 06 #Python
解决TensorFlow模型恢复报错的问题
Feb 06 #Python
You might like
php实现监听事件
2013/11/06 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
实例讲解php实现多线程
2019/01/27 PHP
Jquery数独游戏解析(一)-页面布局
2010/11/05 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
全站最详细的Vuex教程
2018/04/13 Javascript
使用D3.js+Vue实现一个简单的柱形图
2018/08/05 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
小程序开发之模态框组件封装
2020/04/23 Javascript
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
python实现人脸签到系统
2020/04/13 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
UGG英国官方网站:UGG UK
2018/02/08 全球购物
美国眼镜网站:LensCrafters
2020/01/19 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
系统管理员的职责包括那些?管理的对象是什么?
2016/09/20 面试题
顶岗实习接收函
2014/01/09 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
二手房买卖协议书
2014/04/10 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
html form表单基础入门案例讲解
2021/07/21 HTML / CSS