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 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
Python网络爬虫实例讲解
Apr 28 Python
Python内置函数reversed()用法分析
Mar 20 Python
pandas 获取季度,月度,年度首尾日期的方法
Apr 11 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
May 04 Python
python try except 捕获所有异常的实例
Oct 18 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
elasticsearch python 查询的两种方法
Aug 04 Python
python生成器推导式用法简单示例
Oct 08 Python
Python实现点云投影到平面显示
Jan 18 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
Python趣味入门教程之循环语句while
Aug 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创建sprite
2014/02/11 PHP
php时间戳转换的示例
2014/03/31 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
php魔术方法功能与用法实例分析
2016/10/19 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
点击A元素触发B元素的事件在IE8下会识别成A元素
2014/09/04 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
用js实现放大镜效果
2020/10/28 Javascript
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
2019/03/30 Python
python实现可变变量名方法详解
2019/07/01 Python
Python2与Python3的区别详解
2020/02/09 Python
Python unittest框架操作实例解析
2020/04/13 Python
PyQt5实现画布小程序
2020/05/30 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
高级Java程序员面试题
2016/06/23 面试题
信息专业大学生自我评价分享
2014/01/17 职场文书
《桂林山水》教学反思
2014/02/08 职场文书
环境科学专业求职信
2014/08/04 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
女性励志书籍推荐
2019/08/19 职场文书