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
uygula ( OperationBuilder oluşturucusu)
Cihaz spesifikasyonunu uygular ve controlDependements içindeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler.
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
getDeviceString ()
Kapsamdan cihaz dizesini 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< Op > kontroller)
Eklenen işlemlerin sağlanan denetim bağımlılıklarına sahip olacağı yeni bir kapsam döndürür.
Kapsam
withDevice ( DeviceSpec DeviceSpec)
Bir operasyon için sağlanan cihaz spesifikasyonunu kullanan yeni bir kapsam döndürün.
Kapsam
withName (Dize opName)
Bir işlem için sağlanan adı kullanan yeni bir kapsam döndürün.
Kapsam
withNameAsSubScope (Dize varsayılanAd)
Eklenen işlemlere bu kapsamın işlem adının ( withName(String) tarafından ayarlanır) veya ayarlanmadıysa verilen varsayılanın ön ekinin ekleneceği yeni bir kapsamı döndürür.
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

genel OperationBuilder uygulaması ( OperationBuilder oluşturucusu)

Cihaz spesifikasyonunu uygular ve controlDependements içindeki her İşleneni, sağlanan oluşturucuya bir kontrol girişi olarak ekler.

Parametreler
inşaatçı OperationBuilder'a kontrol girişleri ve cihaz özellikleri eklemek için

public OperationBuilder applicationControlDependencing'ler ( OperationBuilder oluşturucusu)

controlDependements içindeki 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.

genel Dize getDeviceString ()

Kapsamdan cihaz dizesini 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 bina 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.

Kontrol Bağımlılıkları ile genel Kapsam (Yinelenebilir< Op > kontroller)

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

Cihazla birlikte genel Kapsam ( DeviceSpec DeviceSpec)

Bir operasyon için sağlanan cihaz spesifikasyonunu kullanan yeni bir kapsam döndürün.

Bu kapsamda oluşturulan işlemler, oluşturulan işlemleri sağlanan spesifikasyonla eşleşen cihaz(lar)a yerleştirecektir.

Parametreler
cihaz özellikleri döndürülen kapsamdaki bir operatör için cihaz spesifikasyonu
İade
  • işlemler için opName'i kullanan 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

public Scope withNameAsSubScope (Dize varsayılanAd)

Eklenen işlemlere bu kapsamın işlem adının ( withName(String) tarafından ayarlanır) veya ayarlanmadıysa verilen varsayılanın ön ekinin ekleneceği yeni bir kapsamı döndürür. Bunun bileşik operasyonlar için kullanılması amaçlanmıştır.

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

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

Parametreler
varsayılanAd Bu kapsamın adı ayarlanmamışsa alt kapsamın adı.
İade
  • yeni bir alt 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