Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

tensorflow :: Scopo

#include <scope.h>

Un oggetto Scope rappresenta un insieme di operazioni TensorFlow correlate che hanno le stesse proprietà come un prefisso di nome comune.

Sommario

Un oggetto Scope è un contenitore per le proprietà TensorFlow Op. I costruttori op ottengono un oggetto Scope come primo argomento obbligatorio e l'op costruito acquisisce le proprietà nell'oggetto.

Un semplice esempio:

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()) { ... }

Gerarchia dell'ambito :

La classe Scope fornisce varie funzioni With <> che creano un nuovo ambito. Il nuovo ambito in genere ha una proprietà modificata mentre altre proprietà vengono ereditate dall'ambito padre. Il metodo NewSubScope (name) aggiunge il name al prefisso dei nomi per le operazioni create nell'ambito e WithOpName () cambia il suffisso che altrimenti viene impostato per impostazione predefinita sul tipo di op.

Esempi di nomi:

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"

Durata dell'ambito :

Viene creato un nuovo ambito chiamando Scope :: NewRootScope . Ciò crea alcune risorse condivise da tutti gli ambiti figlio che ereditano da questo ambito, direttamente o in modo transitorio. Ad esempio, un nuovo ambito crea un nuovo oggetto Graph a cui vengono aggiunte le operazioni quando il nuovo ambito oi suoi figli vengono utilizzati da un costruttore Op. Il nuovo ambito ha anche un oggetto Status che verrà utilizzato per indicare gli errori dalle funzioni Op-costruttore chiamate su qualsiasi ambito figlio. Le funzioni Op-constructor devono controllare lo stato dell'ambito chiamando il metodo ok () prima di procedere con la costruzione dell'op.

Sicurezza del filo:

Un oggetto Scope NON è thread-safe. I thread non possono chiamare contemporaneamente funzioni op-costruttore sullo stesso oggetto Scope .

Costruttori e distruttori

Scope (const Scope & other)
~Scope ()

Funzioni pubbliche

ClearColocation () const
Cancella tutti i vincoli di colocation.
ColocateWith (const Operation & op) const
Restituisce un nuovo ambito.
ColocateWith (const Output & out) const
Funzione convenienza per sopra.
ExitOnError () const
Restituisce un nuovo ambito.
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
Restituisce un nome univoco, utilizzando nome_predefinito se non è stato specificato un nome operativo.
NewSubScope (const string & child_scope_name) const
Restituisce un nuovo ambito.
ToGraphDef (GraphDef *gdef) const
Se status () è Status :: OK (), converti l'oggetto Graph memorizzato in questo ambito in un proto GraphDef e restituisci Status :: OK ().
UpdateStatus (const Status & s) const
void
Aggiorna lo stato su questo ambito.
WithAssignedDevice (const string & assigned_device) const
Restituisce un nuovo ambito.
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
Restituisce un nuovo ambito.
WithControlDependencies (const Output & control_dep) const
Come sopra, ma comodo per aggiungere la dipendenza del controllo dall'operazione che produce l'output control_dep.
WithDevice (const string & device) const
Restituisce un nuovo ambito.
WithKernelLabel (const string & kernel_label) const
Restituisce un nuovo ambito.
WithNoControlDependencies () const
Restituisce un nuovo ambito.
WithOpName (Ty... fragments) const
Restituisce un nuovo ambito.
WithXlaCluster (const string & xla_cluster) const
Restituisce un nuovo ambito.
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)
status () const

Funzioni statiche pubbliche

NewRootScope ()
Restituisce un nuovo ambito.

Funzioni pubbliche

ClearColocation

Scope ClearColocation() const 

Cancella tutti i vincoli di colocation.

ColocateWith

Scope ColocateWith(
  const Operation & op
) const 

Restituisce un nuovo ambito.

Tutte le operazioni create all'interno dell'ambito restituito saranno collocate nel dispositivo in cui è collocata l'operazione. NOTA: questa funzione deve essere utilizzata solo per le librerie interne per controllare il posizionamento degli operatori sui dispositivi. L'uso pubblico non è incoraggiato perché l'implementazione del posizionamento del dispositivo è soggetta a modifiche.

ColocateWith

Scope ColocateWith(
  const Output & out
) const 

Funzione convenienza per sopra.

ExitOnError

Scope ExitOnError() const 

Restituisce un nuovo ambito.

Le funzioni op-costruttore che prendono l'ambito restituito come argomento dell'ambito usciranno non appena viene rilevato un errore, invece di impostare lo stato sull'ambito.

GetCompositeOpScopes

CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

Restituisce un nome univoco, utilizzando nome_predefinito se non è stato specificato un nome operativo.

NewSubScope

Scope NewSubScope(
  const string & child_scope_name
) const 

Restituisce un nuovo ambito.

Le operazioni create con questo ambito avranno come prefisso name/child_scope_name . Il nome effettivo sarà univoco nell'ambito corrente. Tutte le altre proprietà vengono ereditate dall'ambito corrente. Se child_scope_name è vuoto, / è eliso.

Scopo

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

Se status () è Status :: OK (), converti l'oggetto Graph memorizzato in questo ambito in un proto GraphDef e restituisci Status :: OK ().

In caso contrario, restituire lo stato di errore così com'è senza eseguire la conversione GraphDef.

Aggiorna stato

void UpdateStatus(
  const Status & s
) const 

Aggiorna lo stato su questo ambito.

Nota: l'oggetto status è condiviso tra tutti gli elementi secondari di questo ambito. Se lo stato risultante non è Status :: OK () e exit_on_error_ è impostato su questo ambito, questa funzione esce chiamando LOG (FATAL).

WithAssignedDevice

Scope WithAssignedDevice(
  const string & assigned_device
) const 

Restituisce un nuovo ambito.

Tutte le operazioni create nell'ambito restituito avranno il dispositivo assegnato impostato su assigned_device .

WithControlDependencies

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

Restituisce un nuovo ambito.

Tutte le operazioni create nell'ambito restituito avranno come dipendenze di controllo l'unione delle operazioni nel vettore control_deps e le dipendenze di controllo dell'ambito corrente.

WithControlDependencies

Scope WithControlDependencies(
  const Output & control_dep
) const 

Come sopra, ma comodo per aggiungere la dipendenza del controllo dall'operazione che produce l'output control_dep.

WithDevice

Scope WithDevice(
  const string & device
) const 

Restituisce un nuovo ambito.

Tutte le operazioni create nell'ambito restituito avranno il campo dispositivo impostato su "dispositivo".

WithKernelLabel

Scope WithKernelLabel(
  const string & kernel_label
) const 

Restituisce un nuovo ambito.

Tutte le operazioni create con il nuovo scope avranno kernel_label come valore per il loro attributo '_kernel';

WithNoControlDependencies

Scope WithNoControlDependencies() const 

Restituisce un nuovo ambito.

Tutte le operazioni create nell'ambito restituito non avranno dipendenze di controllo su altre operazioni.

WithOpName

Scope WithOpName(
  Ty... fragments
) const 

Restituisce un nuovo ambito.

Tutte le operazioni create all'interno dell'ambito restituito avranno nomi nel formato name/StrCat(fragments...)[_suffix]

WithXlaCluster

Scope WithXlaCluster(
  const string & xla_cluster
) const 

Restituisce un nuovo ambito.

Tutte le operazioni create nell'ambito restituito avranno il loro attributo _XlaCluster impostato su xla_cluster .

control_deps

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

grafico

Graph * graph() const 

graph_as_shared_ptr

std::shared_ptr< Graph > graph_as_shared_ptr() const 

ok

bool ok() const 

operatore =

Scope & operator=(
  const Scope & other
)

stato

Status status() const 

~ Ambito

 ~Scope()

Funzioni statiche pubbliche

NewRootScope

Scope NewRootScope()

Restituisce un nuovo ambito.

Questo crea un nuovo grafico e tutte le operazioni costruite in questo grafico dovrebbero usare l'oggetto restituito come ambito "root".