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参数和作用域的使用
Nov 01 Python
Python生成随机数的方法
Jan 14 Python
几个提升Python运行效率的方法之间的对比
Apr 03 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
python实现海螺图片的方法示例
May 12 Python
python 进程的几种创建方式详解
Aug 29 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
基于python实现文件加密功能
Jan 06 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
使用Python实现批量ping操作方法
May 06 Python
用python实现一个简单的验证码
Dec 09 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
详解React native fetch遇到的坑
2018/08/30 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
Python使用jsonpath-rw模块处理Json对象操作示例
2018/07/31 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
Python yield的用法实例分析
2020/03/06 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
Python中qutip用法示例详解
2020/10/02 Python
Django实现随机图形验证码的示例
2020/10/15 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
家长给幼儿园的表扬信
2014/01/09 职场文书
工程建设实施方案
2014/03/14 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
数据设计之权限的实现
2022/08/05 MySQL