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操作json数据的一个简单例子
Apr 17 Python
Python实现获取操作系统版本信息方法
Apr 08 Python
Python中的下划线详解
Jun 24 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
使用TensorFlow实现SVM
Sep 06 Python
python将txt文件读取为字典的示例
Dec 22 Python
python基于pdfminer库提取pdf文字代码实例
Aug 15 Python
django中media媒体路径设置的步骤
Nov 15 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
基于Python pyecharts实现多种图例代码解析
Aug 10 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 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
一个多文件上传的例子(原创)
2006/10/09 PHP
一个分页的论坛
2006/10/09 PHP
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
jQuery toggle()设置CSS样式
2009/11/05 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
JS实现头条新闻的经典轮播图效果示例
2019/01/30 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
Python subprocess模块详细解读
2018/01/29 Python
python的pip安装以及使用教程
2018/09/18 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
个人委托书怎么写
2014/04/04 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
Java存储没有重复元素的数组
2022/04/29 Java/Android