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_t Движок подграфа, созданный с помощью
ClientSession::MakeCallable(). |
FeedType | typedefstd::unordered_map< Output, Input::Initializer, OutputHash > Тип данных для представления данных ввода для вызова Run.
|
| Публичные функции | |
|---|---|
MakeCallable(const CallableOptions & callable_options, CallableHandle *out_handle) | Status Создаёт handle для вызова подграфа, определённого callable_options. |
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 с заданными параметрами и тензорами на входе. |
Публичные типы
CallableHandle
int64_t 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, заполняется результатами профилирования.
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 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
~ClientSession()
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/cc/class/tensorflow/client-session