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 işlemlerinin özelliklerini 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ı
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 |
---|
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. |
---|
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 |
---|