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 runtime, указанному в 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 > Тип данных для представления данных-ввода (feeds) для вызова 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 как данные-ввода (feeds). |
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
Тип данных для представления данных-ввода (feeds) для вызова Run.
Это отображение Output объектов, возвращаемых конструкторами операций, на значения, которыми они должны быть заполнены. См. Input::Initializer для получения подробностей о том, что может использоваться в качестве значений ввода.
Публичные функции
ClientSession
ClientSession( const Scope & scope, const string & target )
Создает новую сессию для вычисления графа, содержащегося в scope, подключившись к TensorFlow runtime, указанному в target.
ClientSession
ClientSession( const Scope & scope )
Аналогично выше, но использует пустую строку ("") в качестве целевой спецификации.
ClientSession
ClientSession( const Scope & scope, const SessionOptions & session_options )
Создает новую сессию, настраивая её с помощью session_options.
Создать вызываемую функцию
Status MakeCallable( const CallableOptions & callable_options, CallableHandle *out_handle )
Создаёт handle для вызова подграфа, определённого callable_options.
ПРИМЕЧАНИЕ: Этот API всё ещё находится в стадии разработки и может быть изменён.
Освободить вызываемую функцию
Status ReleaseCallable( CallableHandle handle )
Освобождает ресурсы, связанные с данным handle в этой сессии.
ПРИМЕЧАНИЕ: Этот API всё ещё находится в стадии разработки и может быть изменён.
Выполнить
Status Run( const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
Вычисляют тензоры в fetch_outputs.
Значения возвращаются как объекты Tensor в outputs. Количество и порядок outputs будут соответствовать fetch_outputs.
Выполнить
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
Аналогично выше, но использует отображение в inputs как данные-ввода (feeds).
Выполнить
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.
Выполнить вызываемую функцию
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 всё ещё находится в стадии разработки и может быть изменён.
Выполнить вызываемую функцию
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/r2.3/api_docs/cc/class/tensorflow/client-session