Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tensorflow :: Zakres

#include <scope.h>

Obiekt Scope reprezentuje zestaw powiązanych operacji TensorFlow, które mają takie same właściwości, jak prefiks nazwy pospolitej.

Podsumowanie

Obiekt Scope jest kontenerem dla właściwości TensorFlow Op. Konstruktory op pobierają obiekt Scope jako obowiązkowy pierwszy argument, a skonstruowana operacja uzyskuje właściwości w obiekcie.

Prosty przykład:

using namespace ops;
Scope root = Scope::NewRootScope();
auto c1 = Const(root, { {1, 1} });
auto m = MatMul(root, c1, { {41}, {1} });
GraphDef gdef;
Status s = root.ToGraphDef(&gdef);
if (!s.ok()) { ... }

Zakres hierarchia:

Klasa Scope udostępnia różne funkcje With <>, które tworzą nowy zakres. Nowy zakres zwykle ma zmienioną jedną właściwość, podczas gdy inne właściwości są dziedziczone z zakresu nadrzędnego. Metoda NewSubScope (name) dołącza name do przedrostka nazw operacji utworzonych w zakresie, a WithOpName () zmienia sufiks, który w przeciwnym razie jest domyślnym typem operacji.

Przykłady nazw:

Scope root = Scope::NewRootScope();
Scope linear = root.NewSubScope("linear");
// W will be named "linear/W"
auto W = Variable(linear.WithOpName("W"),
                  {2, 2}, DT_FLOAT);
// b will be named "linear/b_3"
int idx = 3;
auto b = Variable(linear.WithOpName("b_", idx),
                  {2}, DT_FLOAT);
auto x = Const(linear, {...});  // name: "linear/Const"
auto m = MatMul(linear, x, W);  // name: "linear/MatMul"
auto r = BiasAdd(linear, m, b); // name: "linear/BiasAdd"

Czas życia zakresu :

Nowy zakres jest tworzony przez wywołanie Scope :: NewRootScope . Tworzy to niektóre zasoby, które są współużytkowane przez wszystkie zakresy podrzędne, które dziedziczą z tego zakresu, bezpośrednio lub przejściowo. Na przykład nowy zakres tworzy nowy obiekt Graph, do którego są dodawane operacje, gdy nowy zakres lub jego elementy podrzędne są używane przez konstruktora Op. Nowy zakres ma również obiekt Status, który będzie używany do wskazywania błędów przez funkcje konstruktora op wywoływane w dowolnym zakresie podrzędnym. Funkcje konstruktora op muszą sprawdzić stan zakresu, wywołując metodę ok () przed przystąpieniem do konstruowania op.

Bezpieczeństwo wątków:

Obiekt Scope NIE jest bezpieczny dla wątków. Wątki nie mogą jednocześnie wywoływać funkcji konstruktora op dla tego samego obiektu Scope .

Konstruktorzy i niszczyciele

Scope (const Scope & other)
~Scope ()

Funkcje publiczne

ClearColocation () const
Usuń wszystkie ograniczenia kolokacji.
ColocateWith (const Operation & op) const
Zwróć nowy zakres.
ColocateWith (const Output & out) const
Funkcja wygodna powyżej.
ExitOnError () const
Zwróć nowy zakres.
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
Zwróć unikalną nazwę, używając default_name, jeśli nazwa op nie została określona.
NewSubScope (const string & child_scope_name) const
Zwróć nowy zakres.
ToGraphDef (GraphDef *gdef) const
Jeśli status () to Status :: OK (), przekonwertuj obiekt Graph przechowywany w tym zakresie na protokół GraphDef i zwróć Status :: OK ().
UpdateStatus (const Status & s) const
void
Zaktualizuj stan tego zakresu.
WithAssignedDevice (const string & assigned_device) const
Zwraca nowy zakres.
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
Zwróć nowy zakres.
WithControlDependencies (const Output & control_dep) const
Tak samo jak powyżej, ale wygodnie jest dodać zależność sterowania od operacji generującej dane wyjściowe control_dep.
WithDevice (const string & device) const
Zwróć nowy zakres.
WithKernelLabel (const string & kernel_label) const
Zwróć nowy zakres.
WithNoControlDependencies () const
Zwróć nowy zakres.
WithOpName (Ty... fragments) const
Zwróć nowy zakres.
WithXlaCluster (const string & xla_cluster) const
Zwraca nowy zakres.
control_deps () const
const std::vector< Operation > &
graph () const
Graph *
graph_as_shared_ptr () const
std::shared_ptr< Graph >
ok () const
bool
operator= (const Scope & other)
Scope &
status () const

Publiczne funkcje statyczne

NewRootScope ()
Zwróć nowy zakres.

Funkcje publiczne

ClearColocation

Scope ClearColocation() const 

Usuń wszystkie ograniczenia kolokacji.

ColocateWith

Scope ColocateWith(
  const Operation & op
) const 

Zwróć nowy zakres.

Wszystkie operacje utworzone w ramach zwróconego zakresu zostaną umieszczone razem na urządzeniu, na którym zostanie umieszczony op. UWAGA: Ta funkcja jest przeznaczona do używania wewnętrznych bibliotek tylko do kontrolowania umieszczania opcji na urządzeniach. Nie zachęca się do użytku publicznego, ponieważ sposób rozmieszczenia urządzeń może ulec zmianie.

ColocateWith

Scope ColocateWith(
  const Output & out
) const 

Funkcja wygodna powyżej.

ExitOnError

Scope ExitOnError() const 

Zwróć nowy zakres.

Funkcje konstruktora op, które przyjmują zwrócony zakres jako argument zakresu, zakończą działanie, gdy tylko zostanie wykryty błąd, zamiast ustawiać stan zakresu.

GetCompositeOpScopes

CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

Zwróć unikalną nazwę, używając default_name, jeśli nazwa op nie została określona.

NewSubScope

Scope NewSubScope(
  const string & child_scope_name
) const 

Zwróć nowy zakres.

Operacje utworzone w tym zakresie będą miały przedrostek name/child_scope_name . Rzeczywista nazwa będzie unikalna w bieżącym zakresie. Wszystkie inne właściwości są dziedziczone z bieżącego zakresu. Jeśli child_scope_name jest puste, / jest pomijane.

Zakres

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

Jeśli status () to Status :: OK (), przekonwertuj obiekt Graph przechowywany w tym zakresie na protokół GraphDef i zwróć Status :: OK ().

W przeciwnym razie zwróć stan błędu bez wykonywania konwersji GraphDef.

Stan aktualizacji

void UpdateStatus(
  const Status & s
) const 

Zaktualizuj stan tego zakresu.

Uwaga: obiekt stanu jest współużytkowany przez wszystkie elementy podrzędne tego zakresu. Jeśli wynikowy status nie jest Status :: OK () i wyjście_on_error_ jest ustawione w tym zakresie, ta funkcja kończy działanie, wywołując LOG (FATAL).

WithAssignedDevice

Scope WithAssignedDevice(
  const string & assigned_device
) const 

Zwraca nowy zakres.

Wszystkie operacje utworzone w ramach zwróconego zakresu będą miały przypisane urządzenie ustawione na assigned_device urządzenie.

WithControlDependencies

Scope WithControlDependencies(
  const gtl::ArraySlice< Operation > & control_deps
) const 

Zwróć nowy zakres.

Wszystkie operacje utworzone w zwróconym zakresie będą miały jako zależności sterujące sumę operacji w wektorze control_deps i zależności sterujące bieżącego zakresu.

WithControlDependencies

Scope WithControlDependencies(
  const Output & control_dep
) const 

Tak samo jak powyżej, ale wygodnie jest dodać zależność sterowania od operacji generującej dane wyjściowe control_dep.

WithDevice

Scope WithDevice(
  const string & device
) const 

Zwróć nowy zakres.

Wszystkie operacje utworzone w zwróconym zakresie będą miały pole urządzenia ustawione na „urządzenie”.

WithKernelLabel

Scope WithKernelLabel(
  const string & kernel_label
) const 

Zwróć nowy zakres.

Wszystkie operacje utworzone z nowym zakresem będą miały etykietę kernel_label jako wartość atrybutu „_kernel”;

WithNoControlDependencies

Scope WithNoControlDependencies() const 

Zwróć nowy zakres.

Wszystkie operacje utworzone w zwróconym zakresie nie będą miały zależności kontrolnych od innych operacji.

WithOpName

Scope WithOpName(
  Ty... fragments
) const 

Zwróć nowy zakres.

Wszystkie operacje utworzone w zwróconym zakresie będą miały nazwy w postaci name/StrCat(fragments...)[_suffix]

WithXlaCluster

Scope WithXlaCluster(
  const string & xla_cluster
) const 

Zwraca nowy zakres.

Wszystkie operacje utworzone w zwróconym zakresie będą miały atrybut _XlaCluster ustawiony na xla_cluster .

control_deps

const std::vector< Operation > & control_deps() const 

wykres

Graph * graph() const 

graph_as_shared_ptr

std::shared_ptr< Graph > graph_as_shared_ptr() const 

dobrze

bool ok() const 

operator =

Scope & operator=(
  const Scope & other
)

status

Status status() const 

~ Zakres

 ~Scope()

Publiczne funkcje statyczne

NewRootScope

Scope NewRootScope()

Zwróć nowy zakres.

Spowoduje to utworzenie nowego wykresu i wszystkie operacje skonstruowane na tym wykresie powinny używać zwróconego obiektu jako zakresu „głównego”.