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实现面向对像的ASP程序实例
Nov 10 Python
Python上传package到Pypi(代码简单)
Feb 06 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
详解Python使用Plotly绘图工具,绘制甘特图
Apr 02 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
在macOS上搭建python环境的实现方法
Aug 13 Python
python 表格打印代码实例解析
Oct 12 Python
python3 pillow模块实现简单验证码
Oct 31 Python
基于Python计算圆周率pi代码实例
Mar 25 Python
手把手教你将Flask应用封装成Docker服务的实现
Aug 19 Python
python编写五子棋游戏
May 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
提取HTML标签
2006/10/09 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
pycharm配置git(图文教程)
2019/08/16 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
python 常见的反爬虫策略
2020/09/27 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
优秀村官事迹材料
2014/01/10 职场文书
中秋晚会活动方案
2014/08/31 职场文书
女性健康讲座主持词
2015/07/04 职场文书
银行求职信怎么写
2019/06/20 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS