przepływ tensorowy:: Sesja klienta
#include <client_session.h>
Obiekt ClientSession
pozwala wywołującemu sterować oceną grafu TensorFlow skonstruowanego za pomocą interfejsu API C++.
Streszczenie
Przykład:
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()) { ... }
Konstruktory i destruktory | |
---|---|
ClientSession (const Scope & scope, const string & target) Utwórz nową sesję, aby ocenić wykres zawarty w scope , łącząc się ze środowiskiem wykonawczym TensorFlow określonym przez target . | |
ClientSession (const Scope & scope) Tak samo jak powyżej, ale użyj pustego ciągu ("") jako specyfikacji docelowej. | |
ClientSession (const Scope & scope, const SessionOptions & session_options) Utwórz nową sesję, konfigurując ją za pomocą session_options . | |
~ClientSession () |
Typy publiczne | |
---|---|
CallableHandle | typedefint64 Uchwyt do podwykresu utworzony za pomocą ClientSession::MakeCallable() . |
FeedType | typedefstd::unordered_map< Output , Input::Initializer , OutputHash > Typ danych reprezentujący źródła danych do wywołania Uruchom. |
Funkcje publiczne | |
---|---|
MakeCallable (const CallableOptions & callable_options, CallableHandle *out_handle) | Tworzy handle do wywoływania podgrafu zdefiniowanego przez callable_options . |
ReleaseCallable ( CallableHandle handle) | Zwalnia zasoby skojarzone z danym handle w tej sesji. |
Run (const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const | Oceń tensory w fetch_outputs . |
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs) const | Tak samo jak powyżej, ale użyj mapowania inputs jako kanałów. |
Run (const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs) const | Jak powyżej. Dodatkowo uruchamia operacje ins 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 | Użyj run_options , aby włączyć profilowanie wydajności. |
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata) | Wywołuje podgraf nazwany przez handle z podanymi opcjami i tensorami wejściowymi. |
RunCallable ( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata, const thread::ThreadPoolOptions & options) | Wywołuje podgraf nazwany przez handle z podanymi opcjami i tensorami wejściowymi. |
Typy publiczne
CallableHandle
int64 CallableHandle
Uchwyt do podwykresu utworzony za pomocą ClientSession::MakeCallable()
.
Typ kanału
std::unordered_map< Output, Input::Initializer, OutputHash > FeedType
Typ danych reprezentujący źródła danych do wywołania Uruchom.
Jest to mapa obiektów Output
zwracanych przez konstruktory op do wartości, którą mają je zasilać. Zobacz Input::Initializer
, aby uzyskać szczegółowe informacje na temat tego, co może być używane jako wartości kanału.
Funkcje publiczne
Sesja klienta
ClientSession( const Scope & scope, const string & target )
Utwórz nową sesję, aby ocenić wykres zawarty w scope
, łącząc się ze środowiskiem wykonawczym TensorFlow określonym przez target
.
Sesja klienta
ClientSession( const Scope & scope )
Tak samo jak powyżej, ale użyj pustego ciągu ("") jako specyfikacji docelowej.
Sesja klienta
ClientSession( const Scope & scope, const SessionOptions & session_options )
Utwórz nową sesję, konfigurując ją za pomocą session_options
.
Możliwość połączenia
Status MakeCallable( const CallableOptions & callable_options, CallableHandle *out_handle )
Tworzy handle
do wywoływania podgrafu zdefiniowanego przez callable_options
.
UWAGA: Ten interfejs API jest nadal eksperymentalny i może ulec zmianie.
Można zadzwonić
Status ReleaseCallable( CallableHandle handle )
Zwalnia zasoby skojarzone z danym handle
w tej sesji.
UWAGA: Ten interfejs API jest nadal eksperymentalny i może ulec zmianie.
Biegać
Status Run( const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
Oceń tensory w fetch_outputs
.
Wartości są zwracane jako obiekty Tensor
w danych outputs
. Liczba i kolejność outputs
będzie odpowiadać fetch_outputs
.
Biegać
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
Tak samo jak powyżej, ale użyj mapowania inputs
jako kanałów.
Biegać
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs ) const
Jak powyżej. Dodatkowo uruchamia operacje ins run_outputs
.
Biegać
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
Użyj run_options
, aby włączyć profilowanie wydajności.
run_metadata
, jeśli nie jest null, jest wypełniany wynikami profilowania.
RunCallable
Status RunCallable( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata )
Wywołuje podgraf nazwany przez handle
z podanymi opcjami i tensorami wejściowymi.
Kolejność tensorów w feed_tensors
musi odpowiadać kolejności nazw w CallableOptions::feed()
, a kolejność tensorów w fetch_tensors
będzie odpowiadać kolejności nazw w CallableOptions::fetch()
w momencie tworzenia tego podwykresu. UWAGA: Ten interfejs API jest nadal eksperymentalny i może ulec zmianie.
RunCallable
Status RunCallable( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata, const thread::ThreadPoolOptions & options )
Wywołuje podgraf nazwany przez handle
z podanymi opcjami i tensorami wejściowymi.
Kolejność tensorów w feed_tensors
musi odpowiadać kolejności nazw w CallableOptions::feed()
, a kolejność tensorów w fetch_tensors
będzie odpowiadać kolejności nazw w CallableOptions::fetch()
w momencie tworzenia tego podwykresu. UWAGA: Ten interfejs API jest nadal eksperymentalny i może ulec zmianie.
~Sesja klienta
~ClientSession()