tensorflow::ClientSession
#include <client_session.h>
Объект ClientSession позволяет вызывающей стороне управлять вычислением графа TensorFlow, созданного с помощью API C++.
Краткое описание
Пример:
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) | 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 с заданными параметрами и входными тензорами. |
Публичные типы
ДескрипторВызова
int64 CallableHandle
Дескриптор подграфа, созданного с помощью ClientSession::MakeCallable().
ТипДанныхПодачи
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.
СоздатьВызов
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 в качестве данных для подачи.
Выполнить
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 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/cc/class/tensorflow/client-session