Scope

genel final dersi Kapsamı

Ortak ad öneki gibi Tensorflow İşlemleri oluştururken ilgili özellik gruplarını yönetir.

Scope , TensorFlow Ops'a uygulanan ortak özelliklere yönelik bir kapsayıcıdır. Normal kullanıcı kodu bir Scope başlatır ve bunu Operasyon oluşturma sınıflarına sağlar. Örneğin:

Scope scope = new Scope(graph);
 Constant c = Constant.create(scope, 42);
 

Bir Operasyon oluşturma sınıfı bir Kapsam edinir ve bunu, temeldeki Tensorflow operasyonlarındaki özellikleri ayarlamak için kullanır. Örneğin:

// An operator class that adds a constant.
 public class Constant {
   public static Constant create(Scope scope, ...) {
      scope.graph().opBuilder(
        "Const", scope.makeOpName("Const"))
        .setAttr(...)
        .build()
      ...
   
 }
 }

Kapsam hiyerarşisi:

Scope yeni bir kapsam oluşturan çeşitli with() yöntemleri sağlar. Yeni kapsamda genellikle bir özellik değiştirilirken diğer özellikler üst kapsamdan devralınır.

Daha önce olduğu gibi uygulanan Constant kullanan bir örnek:

Scope root = new Scope(graph);

 // The linear subscope will generate names like linear/...
 Scope linear = Scope.withSubScope("linear");

 // This op name will be "linear/W"
 Constant.create(linear.withName("W"), ...);

 // This op will be "linear/Const", using the default
 // name provided by Constant
 Constant.create(linear, ...);

 // This op will be "linear/Const_1", using the default
 // name provided by Constant and making it unique within
 // this scope
 Constant.create(linear, ...);
 

Kapsam nesneleri iş parçacığı açısından güvenli değildir .

Kamu İnşaatçıları

Kapsam ( ExecutionEnvironment env)
Yeni bir üst düzey kapsam oluşturun.

Genel Yöntemler

Operasyon Oluşturucu
ApplyControlDependencing'ler ( OperationBuilder oluşturucusu)
controlDependements içindeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler.
Yürütme Ortamı
env ()
Bu kapsam tarafından kullanılan yürütme ortamını döndürür.
Sicim
makeOpName (Dize varsayılanAdı)
Gerekirse sağlanan varsayılanı kullanarak bir operatör için benzersiz bir ad oluşturun.
Kapsam
withControlDependencing'ler (Yinelenebilir< İşlenen <?>> kontrolleri)
Eklenen işlemlerin sağlanan denetim bağımlılıklarına sahip olacağı yeni bir kapsam döndürür.
Kapsam
withName (Dize opName)
Bir işlem için sağlanan adı kullanan yeni bir kapsam döndürün.
Kapsam
withSubScope (Dize childScopeName)
Eklenen işlemlerin belirtilen ad önekine sahip olacağı yeni bir kapsam döndürür.

Kalıtsal Yöntemler

Kamu İnşaatçıları

genel Kapsam ( ExecutionEnvironment env)

Yeni bir üst düzey kapsam oluşturun.

Parametreler
çevre Kapsam tarafından kullanılan yürütme ortamı.

Genel Yöntemler

public OperationBuilder applicationControlDependencing'ler ( OperationBuilder oluşturucusu)

ControlDependencing'lerdeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler.

Parametreler
inşaatçı OperationBuilder'a kontrol girişleri eklemek için

genel ExecutionEnvironment env ()

Bu kapsam tarafından kullanılan yürütme ortamını döndürür.

public String makeOpName (Dize defaultName)

Gerekirse sağlanan varsayılanı kullanarak bir operatör için benzersiz bir ad oluşturun.

Bu normalde yalnızca operatör oluşturma sınıfları tarafından çağrılır.

Bu yöntem, bu örnek tarafından kontrol edilen ad kapsamına uygun benzersiz bir ad oluşturur. Tipik operatör binası kodu şuna benzeyebilir:

scope.env().opBuilder("Const", scope.makeOpName("Const"))...
 

Not: Bileşik bir operatör oluşturma sınıfı (yani, diğer operatör oluşturma kodunu çağırarak bir dizi ilgili işlem oluşturan bir sınıf) sağlarsanız, sağlanan ad, tüm temel operatörler için bir alt kapsam görevi görecektir.

Parametreler
varsayılanAd temel operatörün adı.
İade
  • operatör için benzersiz ad.
Atar
YasadışıTartışmaİstisna varsayılan ad geçersizse.

public Scope withControlDependencing'ler (Yinelenebilir< İşlenen <?>> kontrolleri)

Eklenen işlemlerin sağlanan denetim bağımlılıklarına sahip olacağı yeni bir kapsam döndürür.

Bu kapsamda oluşturulan operasyonlar, sağlanan kontrollerin her birinden bir kontrol avantajına sahip olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır.

Parametreler
kontroller döndürülen kapsam ile oluşturulan operasyonlar için kontrol bağımlılıkları
İade
  • sağlanan kontrol bağımlılıklarıyla yeni bir kapsam

public Scope withName (String opName)

Bir işlem için sağlanan adı kullanan yeni bir kapsam döndürün.

Bu kapsamda oluşturulan işlemler name/opName[_suffix] biçiminde bir ada sahip olacaktır. Bu, belirli bir operatörü daha anlamlı bir şekilde adlandırmanızı sağlar.

Adlar [A-Za-z0-9.][A-Za-z0-9_.\-]* normal ifadesiyle eşleşmelidir

Parametreler
işlemAdı döndürülen kapsamdaki bir operatörün adı
İade
  • işlemler için opName'i kullanan yeni bir Kapsam.
Atar
YasadışıTartışmaİstisna ad geçersizse

SubScope ile genel Kapsam (String childScopeName)

Eklenen işlemlerin belirtilen ad önekine sahip olacağı yeni bir kapsam döndürür.

Bu kapsam ile oluşturulan operasyonların öneki name/childScopeName/ olacaktır. Gerçek ad, döndürülen kapsamda benzersiz olacaktır. Diğer tüm özellikler geçerli kapsamdan devralınır.

Alt kapsam adı [A-Za-z0-9.][A-Za-z0-9_.\-]* normal ifadesiyle eşleşmelidir.

Parametreler
childScopeName yeni alt kapsamın adı
İade
  • yeni bir alt kapsam
Atar
YasadışıTartışmaİstisna ad geçersizse