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两个整数相除得到浮点数值的方法
Mar 18 Python
shelve  用来持久化任意的Python对象实例代码
Oct 12 Python
使用Python对SQLite数据库操作
Apr 06 Python
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
Python3.5迭代器与生成器用法实例分析
Apr 30 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
Jan 03 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
tensorflow模型转ncnn的操作方式
May 25 Python
Opencv求取连通区域重心实例
Jun 04 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
如何用python绘制雷达图
Apr 24 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格式输出文件var_export函数实例
2014/11/15 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
Prototype Number对象 学习
2009/07/19 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
如何获取网站icon有哪些可行的方法
2014/06/05 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
js实现图片左右滚动效果
2017/02/27 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
基于vue循环列表时点击跳转页面的方法
2018/08/31 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
JS实现商品橱窗特效
2020/01/09 Javascript
javascript实现智能手环时间显示
2020/09/18 Javascript
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
对于Python的Django框架部署的一些建议
2015/04/09 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
我们为什么要减少Python中循环的使用
2019/07/10 Python
opencv-python的RGB与BGR互转方式
2020/06/02 Python
python使用smtplib模块发送邮件
2020/12/17 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
Python读写Excel表格的方法
2021/03/02 Python
阿迪达斯香港官网:adidas香港
2019/11/09 全球购物
如何用PHP实现邮件发送
2012/12/26 面试题
公开服务承诺制度
2014/03/26 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
诚实守信主题班会
2015/08/13 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android