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 相关文章推荐
探寻python多线程ctrl+c退出问题解决方案
Oct 23 Python
python实现颜色rgb和hex相互转换的函数
Mar 19 Python
Python黑魔法Descriptor描述符的实例解析
Jun 02 Python
Python 内置函数memoryview(obj)的具体用法
Nov 23 Python
Python语言生成水仙花数代码示例
Dec 18 Python
Python爬取成语接龙类网站
Oct 19 Python
python 多线程将大文件分开下载后在合并的实例
Nov 09 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 Python
Python实现打乒乓小游戏
Sep 25 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
PHP5函数小全(分享)
2013/06/06 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
PHP5.3新特性小结
2016/02/14 PHP
thinkphp分页集成实例
2017/07/24 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
JavaScript学习笔记之内置对象
2015/01/22 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
JS实现根据数组对象的某一属性排序操作示例
2019/01/14 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
在Python中执行系统命令的方法示例详解
2017/09/14 Python
python实现感知器算法详解
2017/12/19 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
python 解压、复制、删除 文件的实例代码
2020/02/26 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
几道数据库的面试题或笔试题
2014/05/31 面试题
初中三好学生事迹材料
2014/01/13 职场文书
幼儿园家长寄语
2014/04/02 职场文书
成立公司计划书
2014/05/07 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
公民代理授权委托书
2014/09/24 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
党员公开承诺书2015
2015/01/21 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript