tensorflow - tensorflow的会话运行接口是可重入的吗?
问题描述
我只是想知道 tensorflow 的会话运行接口是否是可重入的,因为在我的情况下,多个线程可能会访问同一个会话。顺便说一句,我使用 tensorflow 的 c++ api。
解决方案
在 python 接口中,tf.Session
可以谨慎地从不同的线程中使用相同的内容,即使它仍然是创建它的线程的属性。我想C++中的情况类似。
从文档:
注意默认会话是当前线程的属性。如果您创建一个新线程,并希望在该线程中使用默认会话,则必须
with sess.as_default():
在该线程的函数中显式添加 a。注意 输入一个
with sess.as_default():
块不会影响当前的默认图形。如果您使用多个图形,并且sess.graph
与 的值不同,则tf.get_default_graph
必须显式输入一个with sess.graph.as_default():
块来制作sess.graph
默认图形。
推荐阅读
- flutter - Flutter中的水平列表列表
- objective-c - 我可以在 NS_SWIFT_NAME 中使用保留关键字吗?
- python - Plumbum - 嵌套 SSH 远程处理/跳转主机
- javascript - 无法读取 Node.JS 中的嵌套 JSON 对象
- c# - 无法在 NetTopologySuite 中获得点的闭合三角剖分
- mysql - 使用 Knex 动态迁移和播种数据库?
- java - 如何防止多次触发接触监听?
- ios - 关闭视图控制器后未调用 Swift viewWillAppear
- vue.js - 如何让 vue 组件更新另一个不是其子组件的组件中的列表?
- java - 使用 OpenGL ES 进行手指绘画。我究竟做错了什么?