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::vectoroutputs; 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 , с заданными параметрами и входными тензорами. |
Общедоступные типы
CallableHandle
int64 CallableHandle
Дескриптор подграфа, созданный с помощью ClientSession::MakeCallable() .
Тип корма
std::unordered_map< Output, Input::Initializer, OutputHash > FeedType
Тип данных для представления потоков данных, передаваемых в вызов функции Run.
Это карта объектов Output возвращаемых конструкторами операций, со значениями, которые им передаются. Подробную информацию о том, какие значения можно использовать в качестве входных данных, см. в Input::Initializer
Общественные функции
Клиентская сессия
ClientSession( const Scope & scope, const string & target )
Создайте новую сессию для оценки графа, содержащегося в scope , подключившись к среде выполнения TensorFlow, указанной в target .
Клиентская сессия
ClientSession( const Scope & scope )
Аналогично предыдущему примеру, но в качестве целевого параметра используйте пустую строку ("").
Клиентская сессия
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 находится в экспериментальной стадии и может быть изменен.
Бегать
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.
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()