przepływ tensorowy:: Sesja Klienta
#include <client_session.h>
Obiekt ClientSession
umożliwia wywołującemu ocenę wykresu TensorFlow skonstruowanego przy użyciu interfejsu API języka 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) To samo co 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 podgrafu utworzony za pomocą ClientSession::MakeCallable() . |
FeedType | typedefstd::unordered_map< Output , Input::Initializer , OutputHash > Typ danych reprezentujący źródła danych dla wywołania Run. |
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 powiązane 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 | To samo co powyżej, ale użyj mapowania w 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 | To samo co 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 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 handle z podanymi opcjami i tensorami wejściowymi. |
Typy publiczne
Wywoływalny uchwyt
int64 CallableHandle
Uchwyt do podgrafu utworzony za pomocą ClientSession::MakeCallable()
.
Typ kanału
std::unordered_map< Output, Input::Initializer, OutputHash > FeedType
Typ danych reprezentujący źródła danych dla wywołania Run.
To jest mapa obiektów Output
zwracanych przez konstruktory op do wartości, którymi mają być zasilane. Zobacz Input::Initializer
aby uzyskać szczegółowe informacje na temat tego, czego można użyć jako wartości źródła danych.
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 )
To samo co 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
.
MakeCallable
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 w fazie eksperymentalnej i może ulec zmianie.
ZwolnijCallable
Status ReleaseCallable( CallableHandle handle )
Zwalnia zasoby powiązane z danym handle
w tej sesji.
UWAGA: ten interfejs API jest nadal w fazie eksperymentalnej i może ulec zmianie.
Uruchomić
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 outputs
. Liczba i kolejność outputs
będzie zgodna z fetch_outputs
.
Uruchomić
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, std::vector< Tensor > *outputs ) const
To samo co powyżej, ale użyj mapowania w inputs
jako kanałów.
Uruchomić
Status Run( const FeedType & inputs, const std::vector< Output > & fetch_outputs, const std::vector< Operation > & run_outputs, std::vector< Tensor > *outputs ) const
To samo co powyżej. Dodatkowo uruchamia operacje ins run_outputs
.
Uruchomić
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 ma wartości null, jest wypełniany wynikami profilowania.
Uruchom wywoływalny
Status RunCallable( CallableHandle handle, const std::vector< Tensor > & feed_tensors, std::vector< Tensor > *fetch_tensors, RunMetadata *run_metadata )
Wywołuje podgraf nazwany handle
z podanymi opcjami i tensorami wejściowymi.
Kolejność tensorów w feed_tensors
musi być zgodna z kolejnością nazw w CallableOptions::feed()
, a kolejność tensorów w fetch_tensors
będzie zgodna z kolejnością nazw w CallableOptions::fetch()
podczas tworzenia tego podgrafu. UWAGA: ten interfejs API jest wciąż w fazie eksperymentalnej i może ulec zmianie.
Uruchom wywoływalny
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 handle
z podanymi opcjami i tensorami wejściowymi.
Kolejność tensorów w feed_tensors
musi być zgodna z kolejnością nazw w CallableOptions::feed()
, a kolejność tensorów w fetch_tensors
będzie zgodna z kolejnością nazw w CallableOptions::fetch()
podczas tworzenia tego podgrafu. UWAGA: ten interfejs API jest nadal w fazie eksperymentalnej i może ulec zmianie.
~Sesja Klienta
~ClientSession()