web-dev-qa-db-ja.com

推論サービスでtf.Sessionを使用する場合、スレッドセーフですか?

これで、TensorFlowを使用してモデルをトレーニングおよびエクスポートしました。 tensorflow/servingと同じように、このモデルで推論サービスを実装できます。

tf.Sessionオブジェクトがスレッドセーフかどうかについて質問があります。 trueの場合、開始後にオブジェクトを初期化し、シングルトンオブジェクトを使用して同時リクエストを処理できます。

13
tobe

_tf.Session_オブジェクトは、複数のスレッドからの Session.run() 呼び出しに対してスレッドセーフです。

TensorFlow 0.10より前は、グラフの変更はスレッドセーフではありませんでした。これは0.10リリースで修正されたため、Session.run()呼び出しと同時にグラフにノードを追加できますが、パフォーマンス上の理由からお勧めしません。代わりに、偶発的なメモリリークを防ぐために、複数のスレッドからセッションを使用する前に sess.graph.finalize() を呼び出すことをお勧めします。

15
mrry