tensorflow::ClientSession
#include <client_session.h>
Объект ClientSession позволяет вызывающей стороне управлять вычислением графа TensorFlow, построенного с помощью C++ API.
Краткое описание
Пример:
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) Создаёт новую сессию для вычисления графа, содержащегося в scope, подключившись к исполняющей среде TensorFlow, указанной в target. | |
ClientSession(const Scope & scope) То же, что выше, но в качестве целевого указания используется пустая строка ("") | |
ClientSession(const Scope & scope, const SessionOptions & session_options) Создаёт новую сессию, настраивая её с помощью session_options. | |
~ClientSession() |
| Публичные типы | |
|---|---|
CallableHandle | typedefint64 Указатель на подграф, созданный с помощью
ClientSession::MakeCallable(). |
FeedType | typedefstd::unordered_map< Output, Input::Initializer, OutputHash > Тип данных для представления данных, подаваемых в вызов Run.
|
| Публичные функции | |
|---|---|
MakeCallable(const CallableOptions & callable_options, CallableHandle *out_handle) | Создаёт handle для вызова подграфа, определённого callable_options. |
ReleaseCallable(CallableHandle handle) | Освобождает ресурсы, связанные с данным handle в этой сессии. |
Run(const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const | Вычисляет тензоры в fetch_outputs. |
Run(const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const | То же, что выше, но использует отображение в inputs как данные для подачи. |
Run(const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs) const | То же, что выше. Дополнительно выполняет операции в 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 | Используйте run_options для включения профилирования производительности. |
RunCallable(CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata) | Вызывает подграф с именем handle с заданными параметрами и входными тензорами. |
RunCallable(CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata, const thread::ThreadPoolOptions & options) | Вызывает подграф с именем handle с заданными параметрами и входными тензорами. |
Публичные типы
CallableHandle
int64 CallableHandle
Указатель на подграф, созданный с помощью ClientSession::MakeCallable().
FeedType
std::unordered_map< Output, Input::Initializer, OutputHash > FeedType
Тип данных для представления данных, подаваемых в вызов Run.
Это отображение объектов Output возвращаемых конструкторами операторов, с соответствующими значениями для подачи. См. Input::Initializer для получения подробной информации о том, что может использоваться в качестве значений для подачи.
Публичные функции
ClientSession
ClientSession( const Scope & scope, const string & target )
Создаёт новую сессию для вычисления графа, содержащегося в scope, подключившись к исполняющей среде TensorFlow, указанной в target.
ClientSession
ClientSession( const Scope & scope )
То же, что выше, но в качестве целевого указания используется пустая строка ("")
ClientSession
ClientSession( const Scope & scope, const SessionOptions & session_options )
Создаёт новую сессию, настраивая её с помощью session_options.
MakeCallable
Status MakeCallable( const CallableOptions & callable_options, CallableHandle *out_handle )
Создаёт handle для вызова подграфа, определённого callable_options.
ПРИМЕЧАНИЕ: Этот API всё ещё находится в стадии разработки и может измениться.
ReleaseCallable
Status ReleaseCallable( CallableHandle handle )
Освобождает ресурсы, связанные с данным handle в этой сессии.
ПРИМЕЧАНИЕ: Этот API всё ещё находится в стадии разработки и может измениться.
Run
Status Run( const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
Вычисляет тензоры в fetch_outputs.
Значения возвращаются как объекты Tensor в outputs. Количество и порядок outputs будут соответствовать fetch_outputs.
Run
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
То же, что выше, но использует отображение в inputs как данные для подачи.
Run
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs ) const
То же, что выше. Дополнительно выполняет операции в run_outputs.
Run
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, заполняется результатами профилирования.
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
~ClientSession()
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/cc/class/tensorflow/client-session