テンソルフロー::クライアントセッション

#include <client_session.h>

ClientSessionオブジェクトを使用すると、呼び出し元は C++ API で構築された TensorFlow グラフの評価を実行できます。

まとめ

例:

Scope root = Scope::NewRootScope();
auto a = Placeholder(root, DT_INT32);
auto c = Add(root, a, {41});

ClientSession session(root);
std::vector outputs;

Status s = session.Run({ {a, {1} } }, {c}, &outputs);
if (!s.ok()) { ... }  

コンストラクターとデストラクター

ClientSession (const Scope & scope, const string & target)
targetで指定された TensorFlow ランタイムに接続して、 scopeに含まれるグラフを評価するための新しいセッションを作成します。
ClientSession (const Scope & scope)
上記と同様ですが、ターゲット指定として空の文字列 ("") を使用します。
ClientSession (const Scope & scope, const SessionOptions & session_options)
新しいセッションを作成し、 session_optionsで構成します。
~ClientSession ()

パブリック型

CallableHandle typedef
int64
ClientSession::MakeCallable()で作成されたサブグラフへのハンドル。
FeedType typedef
std::unordered_map< Output , Input::Initializer , OutputHash >
Run 呼び出しへのフィードを表すデータ型。

公共機能

MakeCallable (const CallableOptions & callable_options, CallableHandle *out_handle)
Status
callable_optionsで定義されたサブグラフを呼び出すためのhandleを作成します。
ReleaseCallable ( CallableHandle handle)
Status
このセッションで指定されたhandleに関連付けられたリソースを解放します。
Run (const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const
Status
fetch_outputsでテンソルを評価します。
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const
Status
上記と同じですが、 inputsのマッピングをフィードとして使用します。
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs) const
Status
同上。さらに、 run_outputs内の操作を実行します。
Run (const RunOptions & run_options, const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs, RunMetadata *run_metadata) const
Status
run_options使用してパフォーマンス プロファイリングを有効にします。
Run (const RunOptions & run_options, const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs, RunMetadata *run_metadata, const thread::ThreadPoolOptions & threadpool_options) const
Status
同上。
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata)
Status
指定されたオプションと入力テンソルを使用して、 handleで指定されたサブグラフを呼び出します。
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata, const thread::ThreadPoolOptions & options)
Status
指定されたオプションと入力テンソルを使用して、 handleで指定されたサブグラフを呼び出します。

パブリック型

呼び出し可能なハンドル

int64 CallableHandle

ClientSession::MakeCallable()で作成されたサブグラフへのハンドル。

フィードタイプ

std::unordered_map< Output, Input::Initializer, OutputHash > FeedType

Run 呼び出しへのフィードを表すデータ型。

これは、op-constructor によって返されるOutputオブジェクトと、それらにフィードする値とのマップです。フィード値として使用できるものの詳細については、 Input::Initializerを参照してください。

公共機能

クライアントセッション

 ClientSession(
  const Scope & scope,
  const string & target
)

targetで指定された TensorFlow ランタイムに接続して、 scopeに含まれるグラフを評価するための新しいセッションを作成します。

クライアントセッション

 ClientSession(
  const Scope & scope
)

上記と同様ですが、ターゲット指定として空の文字列 ("") を使用します。

クライアントセッション

 ClientSession(
  const Scope & scope,
  const SessionOptions & session_options
)

新しいセッションを作成し、 session_optionsで構成します。

MakeCallable

Status MakeCallable(
  const CallableOptions & callable_options,
  CallableHandle *out_handle
)

callable_optionsで定義されたサブグラフを呼び出すためのhandleを作成します。

注: この API はまだ実験段階にあるため、変更される可能性があります。

ReleaseCallable

Status ReleaseCallable(
  CallableHandle handle
)

このセッションで指定されたhandleに関連付けられたリソースを解放します。

注: この API はまだ実験段階にあるため、変更される可能性があります。

走る

Status Run(
  const std::vector< Output > & fetch_outputs,
  std::vector< Tensor > *outputs
) const 

fetch_outputsでテンソルを評価します。

値はoutputsTensorオブジェクトとして返されます。 outputsの数と順序はfetch_outputsと一致します。

走る

Status Run(
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  std::vector< Tensor > *outputs
) const 

上記と同じですが、 inputsのマッピングをフィードとして使用します。

走る

Status Run(
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  const std::vector< Operation > & run_outputs,
  std::vector< Tensor > *outputs
) const 

同上。さらに、 run_outputs内の操作を実行します。

走る

Status Run(
  const RunOptions & run_options,
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  const std::vector< Operation > & run_outputs,
  std::vector< Tensor > *outputs,
  RunMetadata *run_metadata
) const 

run_options使用してパフォーマンス プロファイリングを有効にします。

run_metadataが null でない場合、プロファイリング結果が入力されます。

走る

Status Run(
  const RunOptions & run_options,
  const FeedType & inputs,
  const std::vector< Output > & fetch_outputs,
  const std::vector< Operation > & run_outputs,
  std::vector< Tensor > *outputs,
  RunMetadata *run_metadata,
  const thread::ThreadPoolOptions & threadpool_options
) const 

同上。

さらに、ユーザーは ThreadPoolOptions を介してカスタム スレッドプール実装を提供できます。

RunCallable

Status RunCallable(
  CallableHandle handle,
  const std::vector< Tensor > & feed_tensors,
  std::vector< Tensor > *fetch_tensors,
  RunMetadata *run_metadata
)

指定されたオプションと入力テンソルを使用して、 handleで指定されたサブグラフを呼び出します。

feed_tensorsのテンソルの順序はCallableOptions::feed()の名前の順序と一致する必要があり、 fetch_tensorsのテンソルの順序は、このサブグラフが作成されたときのCallableOptions::fetch()の名前の順序と一致します。注: この API はまだ実験段階にあるため、変更される可能性があります。

RunCallable

Status RunCallable(
  CallableHandle handle,
  const std::vector< Tensor > & feed_tensors,
  std::vector< Tensor > *fetch_tensors,
  RunMetadata *run_metadata,
  const thread::ThreadPoolOptions & options
)

指定されたオプションと入力テンソルを使用して、 handleで指定されたサブグラフを呼び出します。

feed_tensorsのテンソルの順序はCallableOptions::feed()の名前の順序と一致する必要があり、 fetch_tensorsのテンソルの順序は、このサブグラフが作成されたときのCallableOptions::fetch()の名前の順序と一致します。注: この API はまだ実験段階にあるため、変更される可能性があります。

~クライアントセッション

 ~ClientSession()