前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >tf.ConfigProto主要用来配置生成的会话

tf.ConfigProto主要用来配置生成的会话

作者头像
狼啸风云
修改2022-09-04 22:27:37
1.2K0
修改2022-09-04 22:27:37
举报

下面给出了通过ConfigProto配置会话的方法:

代码语言:javascript
复制
config = tf.ConfigProto(allow_soft_placement = True, log_device_placement = True)
sess1  = tf.InteractiveSession(config = config)
sess2  = tf.Session(config = config)

通过ConfigProto可以配置类似并行的线程数、GPU分配策略、运算超时时间等参数。在这些参数中,最常使用的有两个。

第一个是allow_soft_placement,这是一个布尔型的参数,当它为True时,在以下任意一个条件成立时,GPU上的运算可以放到CPU上进行:

1.运算无法在GPU上执行。

2.没有GPU资源(比如运算被指定在第二个GPU上运行,但是机器只有一个GPU)。

3.运算输入包含对CPU计算结果的引用。

这个参数的默认值为False,但是为了使得代码的可移植性更强,在有GPU的环境下这个参数一般会被设置为True。不同的GPU驱动版本可能对计算的支持有略微的区别,通过将allow_soft_placement参数设置为True,当某些运算无法被当前GPU支持时,可以自动调整到CPU上,而不是报错。类似地,通过将这个参数设置为True,可以让程序在拥有不同数量的GPU机器上顺利运行。

第二个使用得比较多的配置参数是log_device_placement。这也是一个布尔型的参数,当它为True时日志中将会记录每个节点被安排在哪个设备上以方便调试,在生产环境中将这个参数设置为False可以减少日志量。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档