Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tensorflow :: Alcance

#include <scope.h>

Un objeto Scope representa un conjunto de operaciones de TensorFlow relacionadas que tienen las mismas propiedades, como un prefijo de nombre común.

Resumen

Un objeto Scope es un contenedor de propiedades de TensorFlow Op. Los constructores de operaciones obtienen un objeto Scope como primer argumento obligatorio y la operación construida adquiere las propiedades del objeto.

Un ejemplo sencillo:

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

Jerarquía de alcance :

La clase Scope proporciona varias funciones With <> que crean un nuevo ámbito. El nuevo ámbito normalmente tiene una propiedad cambiada mientras que otras propiedades se heredan del ámbito principal. El método NewSubScope (name) agrega el name al prefijo de los nombres de las operaciones creadas dentro del alcance, y WithOpName () cambia el sufijo que, de lo contrario, se establece por defecto en el tipo de la operación.

Ejemplos de nombres:

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"

Vida útil del alcance :

Se crea un nuevo ámbito llamando a Scope :: NewRootScope . Esto crea algunos recursos que son compartidos por todos los ámbitos secundarios que heredan de este ámbito, de forma directa o transitiva. Por ejemplo, un nuevo alcance crea un nuevo objeto Graph al que se agregan operaciones cuando un constructor Op usa el nuevo alcance o sus hijos. El nuevo alcance también tiene un objeto de estado que se usará para indicar errores por las funciones del constructor de operaciones llamadas en cualquier alcance secundario. Las funciones del constructor de operaciones tienen que verificar el estado del alcance llamando al método ok () antes de proceder a construir la operación.

Seguridad del hilo:

Un objeto Scope NO es seguro para subprocesos. Los subprocesos no pueden llamar simultáneamente funciones op-constructor en el mismo objeto Scope .

Constructores y Destructores

Scope (const Scope & other)
~Scope ()

Funciones publicas

ClearColocation () const
Elimine todas las restricciones de colocación.
ColocateWith (const Operation & op) const
Devuelve un nuevo alcance.
ColocateWith (const Output & out) const
Función de conveniencia para arriba.
ExitOnError () const
Devuelve un nuevo alcance.
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
Devuelve un nombre único, usando default_name si no se ha especificado un nombre de operación.
NewSubScope (const string & child_scope_name) const
Devuelve un nuevo alcance.
ToGraphDef (GraphDef *gdef) const
Si status () es Status :: OK (), convierta el objeto Graph almacenado en este alcance en un proto GraphDef y devuelva Status :: OK ().
UpdateStatus (const Status & s) const
void
Actualice el estado de este alcance.
WithAssignedDevice (const string & assigned_device) const
Devuelve un nuevo alcance.
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
Devuelve un nuevo alcance.
WithControlDependencies (const Output & control_dep) const
Igual que el anterior, pero conveniente para agregar la dependencia de control en la operación que produce la salida control_dep.
WithDevice (const string & device) const
Devuelve un nuevo alcance.
WithKernelLabel (const string & kernel_label) const
Devuelve un nuevo alcance.
WithNoControlDependencies () const
Devuelve un nuevo alcance.
WithOpName (Ty... fragments) const
Devuelve un nuevo alcance.
WithXlaCluster (const string & xla_cluster) const
Devuelve un nuevo alcance.
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

Funciones estáticas públicas

NewRootScope ()
Devuelve un nuevo alcance.

Funciones publicas

ClearColocation

Scope ClearColocation() const 

Elimine todas las restricciones de colocación.

Colocate con

Scope ColocateWith(
  const Operation & op
) const 

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto se ubicarán en el dispositivo donde se coloca la operación. NOTA: Esta función está diseñada para usar bibliotecas internas solo para controlar la ubicación de operaciones en dispositivos. No se recomienda el uso público porque la implementación de la ubicación del dispositivo está sujeta a cambios.

Colocate con

Scope ColocateWith(
  const Output & out
) const 

Función de conveniencia para arriba.

ExitOnError

Scope ExitOnError() const 

Devuelve un nuevo alcance.

Las funciones op-constructor que toman el alcance devuelto como argumento del alcance saldrán tan pronto como se detecte un error, en lugar de establecer el estado en el alcance.

GetCompositeOpScopes

CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

Devuelve un nombre único, utilizando default_name si no se ha especificado un nombre de operación.

NewSubScope

Scope NewSubScope(
  const string & child_scope_name
) const 

Devuelve un nuevo alcance.

Las operaciones creadas con este alcance tendrán name/child_scope_name como prefijo. El nombre real será único en el ámbito actual. Todas las demás propiedades se heredan del ámbito actual. Si child_scope_name está vacío, / se elimina.

Alcance

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

Si status () es Status :: OK (), convierta el objeto Graph almacenado en este alcance en un proto GraphDef y devuelva Status :: OK ().

De lo contrario, devuelva el estado de error tal cual sin realizar la conversión GraphDef.

Estado de actualización

void UpdateStatus(
  const Status & s
) const 

Actualice el estado de este alcance.

Nota: El objeto de estado se comparte entre todos los elementos secundarios de este ámbito. Si el estado resultante no es Status :: OK () y exit_on_error_ está configurado en este alcance, esta función sale llamando a LOG (FATAL).

WithAssignedDevice

Scope WithAssignedDevice(
  const string & assigned_device
) const 

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto tendrán su dispositivo asignado configurado como dispositivo assigned_device .

WithControlDependencies

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

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto tendrán como dependencias de control la unión de operaciones en el vector control_deps y las dependencias de control del alcance actual.

WithControlDependencies

Scope WithControlDependencies(
  const Output & control_dep
) const 

Igual que el anterior, pero conveniente para agregar la dependencia de control en la operación que produce la salida control_dep.

WithDevice

Scope WithDevice(
  const string & device
) const 

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto tendrán el campo del dispositivo configurado como 'dispositivo'.

WithKernelLabel

Scope WithKernelLabel(
  const string & kernel_label
) const 

Devuelve un nuevo alcance.

Todas las operaciones creadas con el nuevo alcance tendrán kernel_label como valor para su atributo '_kernel';

WithNoControlDependencies

Scope WithNoControlDependencies() const 

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto no tendrán dependencias de control en otras operaciones.

WithOpName

Scope WithOpName(
  Ty... fragments
) const 

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto tendrán nombres del formulario name/StrCat(fragments...)[_suffix]

WithXlaCluster

Scope WithXlaCluster(
  const string & xla_cluster
) const 

Devuelve un nuevo alcance.

Todas las operaciones creadas dentro del alcance devuelto tendrán su atributo _XlaCluster establecido en 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 

Okay

bool ok() const 

operador =

Scope & operator=(
  const Scope & other
)

estado

Status status() const 

~ Alcance

 ~Scope()

Funciones estáticas públicas

NewRootScope

Scope NewRootScope()

Devuelve un nuevo alcance.

Esto crea un nuevo gráfico y todas las operaciones construidas en este gráfico deben usar el objeto devuelto como alcance "raíz".