首页 > 解决方案 > tensorflow的会话运行接口是可重入的吗?

问题描述

我只是想知道 tensorflow 的会话运行接口是否是可重入的,因为在我的情况下,多个线程可能会访问同一个会话。顺便说一句,我使用 tensorflow 的 c++ api。

标签: tensorflowreentrancy

解决方案


在 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默认图形。


推荐阅读