Cette page a été traduite par l'API Cloud Translation.
Switch to English

tensorflow :: Portée

#include <scope.h>

A Scope objet représente un ensemble d'opérations de tensorflow connexes qui ont les mêmes propriétés comme un préfixe de nom commun.

Résumé

Un Scope objet est un conteneur pour tensorflow propriétés op. Constructeurs Op obtenir un Scope objet comme premier argument obligatoire et l'op construit fait l' acquisition d'propriétés de l'objet.

Un exemple simple:

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

Portée hiérarchie:

La portée classe fournit divers Avec <> fonctions qui créent un nouveau champ d' application. Le nouveau champ a généralement une propriété a changé alors que d'autres propriétés sont héritées du champ parent. Méthode NewSubScope (nom) ajoute name au préfixe des noms pour les opérations créées dans le cadre et WithOpName () change le suffixe qui autrement par défaut du type de l'op.

Exemples de Nom:

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"

Portée Durée de vie:

Un nouveau champ est créé en appelant Portée :: NewRootScope . Cela crée des ressources qui sont partagées par tous les enfants Scopes qui héritent de ce champ d'application, directement ou transitive. Par exemple, un nouveau champ d'application crée un nouvel objet graphique auquel les opérations sont ajoutées lorsque la nouvelle portée ou ses enfants sont utilisés par un constructeur Op. Le nouveau champ d'application a également un objet d'état qui sera utilisé pour indiquer des erreurs de fonctions constructeur Op ont appelé toute la portée des enfants. Les fonctions constructeur Op doivent vérifier l'état de la portée en appelant la méthode ok () avant de procéder à la construction op.

sécurité du fil:

Un Scope objet est pas thread-safe. Threads ne peuvent pas appeler simultanément les fonctions op-constructeur sur la même Scope objet.

Constructeurs et Destructeurs

Scope (const Scope & other)
~Scope ()

Les fonctions publiques

ClearColocation () const
Effacer toutes les contraintes de colocalisation.
ColocateWith (const Operation & op) const
Retour d'un nouveau champ d'application.
ColocateWith (const Output & out) const
Fonction commodité ci-dessus.
ExitOnError () const
Retour d'un nouveau champ d'application.
GetCompositeOpScopes (const string & composite_op_name) const
GetUniqueNameForOp (const string & default_name) const
string
Retour un nom unique, en utilisant default_name si un nom d'op n'a pas été précisée.
NewSubScope (const string & child_scope_name) const
Retour d'un nouveau champ d'application.
ToGraphDef (GraphDef *gdef) const
Status
Si le statut () est Statut :: OK (), convertir l'objet graphique stocké dans ce champ à un statut Prototypes et retour GraphDef :: OK ().
UpdateStatus (const Status & s) const
void
Mettre à jour le statut de ce champ d'application.
WithAssignedDevice (const string & assigned_device) const
Renvoie une nouvelle portée.
WithControlDependencies (const gtl::ArraySlice< Operation > & control_deps) const
Retour d'un nouveau champ d'application.
WithControlDependencies (const Output & control_dep) const
Comme ci-dessus, mais pratique pour ajouter la dépendance de contrôle sur l'opération produisant la sortie control_dep.
WithDevice (const string & device) const
Retour d'un nouveau champ d'application.
WithKernelLabel (const string & kernel_label) const
Retour d'un nouveau champ d'application.
WithNoControlDependencies () const
Retour d'un nouveau champ d'application.
WithOpName (Ty... fragments) const
Retour d'un nouveau champ d'application.
WithXlaCluster (const string & xla_cluster) const
Renvoie une nouvelle portée.
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
Status

fonctions statiques publiques

NewRootScope ()
Retour d'un nouveau champ d'application.

Les fonctions publiques

ClearColocation

 Scope ClearColocation() const 

Effacer toutes les contraintes de colocalisation.

ColocateWith

 Scope ColocateWith(
  const Operation & op
) const 

Retour d'un nouveau champ d'application.

Toutes les opérations créées dans le cadre de retour seront co-localisés sur l'appareil où op est placé. NOTE: Cette fonction est destinée à être utiliser les bibliothèques internes que pour contrôler le placement des opérations sur les appareils. L'utilisation publique ne soit pas encouragée parce que la mise en œuvre du placement de l'appareil est soumis à modification.

ColocateWith

 Scope ColocateWith(
  const Output & out
) const 

Fonction commodité ci-dessus.

ExitOnError

 Scope ExitOnError() const 

Retour d'un nouveau champ d'application.

Les fonctions op-constructeur prenant le champ retourné comme argument de la portée quittera dès qu'une erreur est détectée, au lieu de définir l'état de la portée.

GetCompositeOpScopes

 CompositeOpScopes GetCompositeOpScopes(
  const string & composite_op_name
) const 

GetUniqueNameForOp

string GetUniqueNameForOp(
  const string & default_name
) const 

Retour un nom unique, en utilisant default_name si un nom d'op n'a pas été précisée.

NewSubScope

 Scope NewSubScope(
  const string & child_scope_name
) const 

Retour d'un nouveau champ d'application.

Ops créés avec ce champ auront le name/child_scope_name comme préfixe. Le nom réel sera unique dans le périmètre actuel. Toutes les autres propriétés sont héritées de la portée actuelle. Si child_scope_name est vide, le / est éludée.

Portée

 Scope(
  const Scope & other
)

ToGraphDef

Status ToGraphDef(
  GraphDef *gdef
) const 

Si le statut () est Statut :: OK (), convertir l'objet graphique stocké dans ce champ à un statut Prototypes et retour GraphDef :: OK ().

Dans le cas contraire, le retour de l'état d'erreur tel quel sans effectuer une conversion GraphDef.

État de mise à jour

void UpdateStatus(
  const Status & s
) const 

Mettre à jour le statut de ce champ d'application.

Remarque: L'objet d'état est partagé entre tous les enfants de ce champ d'application. Si l'état résultant est pas Statut :: OK () et exit_on_error_ est fixé sur ce champ, cette sortie de la fonction en appelant LOG (FATAL).

WithAssignedDevice

 Scope WithAssignedDevice(
  const string & assigned_device
) const 

Renvoie une nouvelle portée.

Toutes les opérations créées dans le cadre de retour auront leur appareil affecté mis à assigned_device .

WithControlDependencies

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

Retour d'un nouveau champ d'application.

Toutes les opérations créées dans le cadre de retour auront le contrôle des dépendances de l'union des opérations dans le vecteur control_deps et les dépendances de contrôle de la portée actuelle.

WithControlDependencies

 Scope WithControlDependencies(
  const Output & control_dep
) const 

Comme ci-dessus, mais pratique pour ajouter la dépendance de contrôle sur l'opération produisant la sortie control_dep.

WithDevice

 Scope WithDevice(
  const string & device
) const 

Retour d'un nouveau champ d'application.

Toutes les opérations créées dans le cadre de retour auront l'ensemble du champ de l'appareil à « dispositif ».

WithKernelLabel

 Scope WithKernelLabel(
  const string & kernel_label
) const 

Retour d'un nouveau champ d'application.

Toutes les opérations créées avec la nouvelle portée auront kernel_label que la valeur de leur attribut « _kernel »;

WithNoControlDependencies

 Scope WithNoControlDependencies() const 

Retour d'un nouveau champ d'application.

Toutes les opérations créées dans le cadre renvoyé ne dépendances de contrôle sur d'autres opérations.

WithOpName

 Scope WithOpName(
  Ty... fragments
) const 

Retour d'un nouveau champ d'application.

Toutes les opérations créées dans le cadre de retour auront des noms de la forme name/StrCat(fragments...)[_suffix]

WithXlaCluster

 Scope WithXlaCluster(
  const string & xla_cluster
) const 

Renvoie une nouvelle portée.

Toutes les opérations créées dans le cadre de retour auront leur attribut _XlaCluster réglé sur xla_cluster .

control_deps

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

graphique

Graph * graph() const 

graph_as_shared_ptr

std::shared_ptr< Graph > graph_as_shared_ptr() const 

D'accord

bool ok() const 

= Opérateur

 Scope & operator=(
  const Scope & other
)

statut

Status status() const 

~ Portée

 ~Scope()

fonctions statiques publiques

NewRootScope

 Scope NewRootScope()

Retour d'un nouveau champ d'application.

Cela crée un nouveau graphique et toutes les opérations construites dans ce graphique doit utiliser l'objet retourné comme le champ « racine ».